// 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; typedef bool2 = vector; native typedef vector; typedef bool3 = vector; native typedef vector; typedef bool4 = vector; native typedef vector; typedef uint2 = vector; native typedef vector; typedef uint3 = vector; native typedef vector; typedef uint4 = vector; native typedef vector; typedef int2 = vector; native typedef vector; typedef int3 = vector; native typedef vector; typedef int4 = vector; native typedef vector; typedef float2 = vector; native typedef vector; typedef float3 = vector; native typedef vector; typedef float4 = vector; native typedef matrix; typedef float2x2 = matrix; native typedef matrix; typedef float2x3 = matrix; native typedef matrix; typedef float2x4 = matrix; native typedef matrix; typedef float3x2 = matrix; native typedef matrix; typedef float3x3 = matrix; native typedef matrix; typedef float3x4 = matrix; native typedef matrix; typedef float4x2 = matrix; native typedef matrix; typedef float4x3 = matrix; native typedef matrix; typedef float4x4 = matrix; native typedef matrix; typedef bool2x2 = matrix; native typedef matrix; typedef bool2x3 = matrix; native typedef matrix; typedef bool2x4 = matrix; native typedef matrix; typedef bool3x2 = matrix; native typedef matrix; typedef bool3x3 = matrix; native typedef matrix; typedef bool3x4 = matrix; native typedef matrix; typedef bool4x2 = matrix; native typedef matrix; typedef bool4x3 = matrix; native typedef matrix; typedef bool4x4 = matrix; native typedef sampler; native typedef Texture1D; native typedef Texture1D; native typedef Texture1D; native typedef Texture1D; native typedef Texture1D; native typedef Texture1D; native typedef Texture1D; native typedef Texture1D; native typedef Texture1D; native typedef Texture1D; native typedef Texture1D; native typedef Texture1D; native typedef Texture1DArray; native typedef Texture1DArray; native typedef Texture1DArray; native typedef Texture1DArray; native typedef Texture1DArray; native typedef Texture1DArray; native typedef Texture1DArray; native typedef Texture1DArray; native typedef Texture1DArray; native typedef Texture1DArray; native typedef Texture1DArray; native typedef Texture1DArray; native typedef Texture2D; native typedef Texture2D; native typedef Texture2D; native typedef Texture2D; native typedef Texture2D; native typedef Texture2D; native typedef Texture2D; native typedef Texture2D; native typedef Texture2D; native typedef Texture2D; native typedef Texture2D; native typedef Texture2D; native typedef Texture2DArray; native typedef Texture2DArray; native typedef Texture2DArray; native typedef Texture2DArray; native typedef Texture2DArray; native typedef Texture2DArray; native typedef Texture2DArray; native typedef Texture2DArray; native typedef Texture2DArray; native typedef Texture2DArray; native typedef Texture2DArray; native typedef Texture2DArray; native typedef Texture3D; native typedef Texture3D; native typedef Texture3D; native typedef Texture3D; native typedef Texture3D; native typedef Texture3D; native typedef Texture3D; native typedef Texture3D; native typedef Texture3D; native typedef Texture3D; native typedef Texture3D; native typedef Texture3D; native typedef TextureCube; native typedef TextureCube; native typedef TextureCube; native typedef TextureCube; native typedef TextureCube; native typedef TextureCube; native typedef TextureCube; native typedef TextureCube; native typedef TextureCube; native typedef TextureCube; native typedef TextureCube; native typedef TextureCube; native typedef TextureDepth2D; native typedef TextureDepth2DArray; native typedef TextureDepthCube; /* 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 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 transpose */ float transpose(float x) { return x; } float2x2 transpose(float2x2 x) { float2x2 result; result[0][0] = x[0][0]; result[1][0] = x[0][1]; result[0][1] = x[1][0]; result[1][1] = x[1][1]; return result; } float3x2 transpose(float2x3 x) { float3x2 result; result[0][0] = x[0][0]; result[1][0] = x[0][1]; result[2][0] = x[0][2]; result[0][1] = x[1][0]; result[1][1] = x[1][1]; result[2][1] = x[1][2]; return result; } float4x2 transpose(float2x4 x) { float4x2 result; result[0][0] = x[0][0]; result[1][0] = x[0][1]; result[2][0] = x[0][2]; result[3][0] = x[0][3]; result[0][1] = x[1][0]; result[1][1] = x[1][1]; result[2][1] = x[1][2]; result[3][1] = x[1][3]; return result; } float2x3 transpose(float3x2 x) { float2x3 result; result[0][0] = x[0][0]; result[1][0] = x[0][1]; result[0][1] = x[1][0]; result[1][1] = x[1][1]; result[0][2] = x[2][0]; result[1][2] = x[2][1]; return result; } float3x3 transpose(float3x3 x) { float3x3 result; result[0][0] = x[0][0]; result[1][0] = x[0][1]; result[2][0] = x[0][2]; result[0][1] = x[1][0]; result[1][1] = x[1][1]; result[2][1] = x[1][2]; result[0][2] = x[2][0]; result[1][2] = x[2][1]; result[2][2] = x[2][2]; return result; } float4x3 transpose(float3x4 x) { float4x3 result; result[0][0] = x[0][0]; result[1][0] = x[0][1]; result[2][0] = x[0][2]; result[3][0] = x[0][3]; result[0][1] = x[1][0]; result[1][1] = x[1][1]; result[2][1] = x[1][2]; result[3][1] = x[1][3]; result[0][2] = x[2][0]; result[1][2] = x[2][1]; result[2][2] = x[2][2]; result[3][2] = x[2][3]; return result; } float2x4 transpose(float4x2 x) { float2x4 result; result[0][0] = x[0][0]; result[1][0] = x[0][1]; result[0][1] = x[1][0]; result[1][1] = x[1][1]; result[0][2] = x[2][0]; result[1][2] = x[2][1]; result[0][3] = x[3][0]; result[1][3] = x[3][1]; return result; } float3x4 transpose(float4x3 x) { float3x4 result; result[0][0] = x[0][0]; result[1][0] = x[0][1]; result[2][0] = x[0][2]; result[0][1] = x[1][0]; result[1][1] = x[1][1]; result[2][1] = x[1][2]; result[0][2] = x[2][0]; result[1][2] = x[2][1]; result[2][2] = x[2][2]; result[0][3] = x[3][0]; result[1][3] = x[3][1]; result[2][3] = x[3][2]; return result; } float4x4 transpose(float4x4 x) { float4x4 result; result[0][0] = x[0][0]; result[1][0] = x[0][1]; result[2][0] = x[0][2]; result[3][0] = x[0][3]; result[0][1] = x[1][0]; result[1][1] = x[1][1]; result[2][1] = x[1][2]; result[3][1] = x[1][3]; result[0][2] = x[2][0]; result[1][2] = x[2][1]; result[2][2] = x[2][2]; result[3][2] = x[2][3]; result[0][3] = x[3][0]; result[1][3] = x[3][1]; result[2][3] = x[3][2]; result[3][3] = x[3][3]; 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 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[1][0] = saturate(x[1][0]); result[0][1] = saturate(x[0][1]); result[1][1] = saturate(x[1][1]); return result; } float3x2 saturate(float3x2 x) { float3x2 result; result[0][0] = saturate(x[0][0]); result[1][0] = saturate(x[1][0]); result[2][0] = saturate(x[2][0]); result[0][1] = saturate(x[0][1]); result[1][1] = saturate(x[1][1]); result[2][1] = saturate(x[2][1]); return result; } float4x2 saturate(float4x2 x) { float4x2 result; result[0][0] = saturate(x[0][0]); result[1][0] = saturate(x[1][0]); result[2][0] = saturate(x[2][0]); result[3][0] = saturate(x[3][0]); result[0][1] = saturate(x[0][1]); result[1][1] = saturate(x[1][1]); result[2][1] = saturate(x[2][1]); result[3][1] = saturate(x[3][1]); return result; } float2x3 saturate(float2x3 x) { float2x3 result; result[0][0] = saturate(x[0][0]); result[1][0] = saturate(x[1][0]); result[0][1] = saturate(x[0][1]); result[1][1] = saturate(x[1][1]); result[0][2] = saturate(x[0][2]); result[1][2] = saturate(x[1][2]); return result; } float3x3 saturate(float3x3 x) { float3x3 result; result[0][0] = saturate(x[0][0]); result[1][0] = saturate(x[1][0]); result[2][0] = saturate(x[2][0]); result[0][1] = saturate(x[0][1]); result[1][1] = saturate(x[1][1]); result[2][1] = saturate(x[2][1]); result[0][2] = saturate(x[0][2]); result[1][2] = saturate(x[1][2]); result[2][2] = saturate(x[2][2]); return result; } float4x3 saturate(float4x3 x) { float4x3 result; result[0][0] = saturate(x[0][0]); result[1][0] = saturate(x[1][0]); result[2][0] = saturate(x[2][0]); result[3][0] = saturate(x[3][0]); result[0][1] = saturate(x[0][1]); result[1][1] = saturate(x[1][1]); result[2][1] = saturate(x[2][1]); result[3][1] = saturate(x[3][1]); result[0][2] = saturate(x[0][2]); result[1][2] = saturate(x[1][2]); result[2][2] = saturate(x[2][2]); result[3][2] = saturate(x[3][2]); return result; } float2x4 saturate(float2x4 x) { float2x4 result; result[0][0] = saturate(x[0][0]); result[1][0] = saturate(x[1][0]); result[0][1] = saturate(x[0][1]); result[1][1] = saturate(x[1][1]); result[0][2] = saturate(x[0][2]); result[1][2] = saturate(x[1][2]); result[0][3] = saturate(x[0][3]); result[1][3] = saturate(x[1][3]); return result; } float3x4 saturate(float3x4 x) { float3x4 result; result[0][0] = saturate(x[0][0]); result[1][0] = saturate(x[1][0]); result[2][0] = saturate(x[2][0]); result[0][1] = saturate(x[0][1]); result[1][1] = saturate(x[1][1]); result[2][1] = saturate(x[2][1]); result[0][2] = saturate(x[0][2]); result[1][2] = saturate(x[1][2]); result[2][2] = saturate(x[2][2]); result[0][3] = saturate(x[0][3]); result[1][3] = saturate(x[1][3]); result[2][3] = saturate(x[2][3]); return result; } float4x4 saturate(float4x4 x) { float4x4 result; result[0][0] = saturate(x[0][0]); result[1][0] = saturate(x[1][0]); result[2][0] = saturate(x[2][0]); result[3][0] = saturate(x[3][0]); result[0][1] = saturate(x[0][1]); result[1][1] = saturate(x[1][1]); result[2][1] = saturate(x[2][1]); result[3][1] = saturate(x[3][1]); result[0][2] = saturate(x[0][2]); result[1][2] = saturate(x[1][2]); result[2][2] = saturate(x[2][2]); result[3][2] = saturate(x[3][2]); result[0][3] = saturate(x[0][3]); result[1][3] = saturate(x[1][3]); result[2][3] = saturate(x[2][3]); 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[1][0] = mad(x[1][0], y[1][0], z[1][0]); result[0][1] = mad(x[0][1], y[0][1], z[0][1]); result[1][1] = mad(x[1][1], y[1][1], z[1][1]); 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[1][0] = mad(x[1][0], y[1][0], z[1][0]); result[2][0] = mad(x[2][0], y[2][0], z[2][0]); result[0][1] = mad(x[0][1], y[0][1], z[0][1]); result[1][1] = mad(x[1][1], y[1][1], z[1][1]); result[2][1] = mad(x[2][1], y[2][1], z[2][1]); 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[1][0] = mad(x[1][0], y[1][0], z[1][0]); result[2][0] = mad(x[2][0], y[2][0], z[2][0]); result[3][0] = mad(x[3][0], y[3][0], z[3][0]); result[0][1] = mad(x[0][1], y[0][1], z[0][1]); result[1][1] = mad(x[1][1], y[1][1], z[1][1]); result[2][1] = mad(x[2][1], y[2][1], z[2][1]); result[3][1] = mad(x[3][1], y[3][1], z[3][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[1][0] = mad(x[1][0], y[1][0], z[1][0]); result[0][1] = mad(x[0][1], y[0][1], z[0][1]); result[1][1] = mad(x[1][1], y[1][1], z[1][1]); result[0][2] = mad(x[0][2], y[0][2], z[0][2]); result[1][2] = mad(x[1][2], y[1][2], z[1][2]); 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[1][0] = mad(x[1][0], y[1][0], z[1][0]); result[2][0] = mad(x[2][0], y[2][0], z[2][0]); result[0][1] = mad(x[0][1], y[0][1], z[0][1]); result[1][1] = mad(x[1][1], y[1][1], z[1][1]); result[2][1] = mad(x[2][1], y[2][1], z[2][1]); result[0][2] = mad(x[0][2], y[0][2], z[0][2]); result[1][2] = mad(x[1][2], y[1][2], z[1][2]); result[2][2] = mad(x[2][2], y[2][2], z[2][2]); 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[1][0] = mad(x[1][0], y[1][0], z[1][0]); result[2][0] = mad(x[2][0], y[2][0], z[2][0]); result[3][0] = mad(x[3][0], y[3][0], z[3][0]); result[0][1] = mad(x[0][1], y[0][1], z[0][1]); result[1][1] = mad(x[1][1], y[1][1], z[1][1]); result[2][1] = mad(x[2][1], y[2][1], z[2][1]); result[3][1] = mad(x[3][1], y[3][1], z[3][1]); result[0][2] = mad(x[0][2], y[0][2], z[0][2]); result[1][2] = mad(x[1][2], y[1][2], z[1][2]); result[2][2] = mad(x[2][2], y[2][2], z[2][2]); result[3][2] = mad(x[3][2], y[3][2], z[3][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[1][0] = mad(x[1][0], y[1][0], z[1][0]); result[0][1] = mad(x[0][1], y[0][1], z[0][1]); result[1][1] = mad(x[1][1], y[1][1], z[1][1]); result[0][2] = mad(x[0][2], y[0][2], z[0][2]); result[1][2] = mad(x[1][2], y[1][2], z[1][2]); result[0][3] = mad(x[0][3], y[0][3], z[0][3]); result[1][3] = mad(x[1][3], y[1][3], z[1][3]); 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[1][0] = mad(x[1][0], y[1][0], z[1][0]); result[2][0] = mad(x[2][0], y[2][0], z[2][0]); result[0][1] = mad(x[0][1], y[0][1], z[0][1]); result[1][1] = mad(x[1][1], y[1][1], z[1][1]); result[2][1] = mad(x[2][1], y[2][1], z[2][1]); result[0][2] = mad(x[0][2], y[0][2], z[0][2]); result[1][2] = mad(x[1][2], y[1][2], z[1][2]); result[2][2] = mad(x[2][2], y[2][2], z[2][2]); result[0][3] = mad(x[0][3], y[0][3], z[0][3]); result[1][3] = mad(x[1][3], y[1][3], z[1][3]); result[2][3] = mad(x[2][3], y[2][3], z[2][3]); 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[1][0] = mad(x[1][0], y[1][0], z[1][0]); result[2][0] = mad(x[2][0], y[2][0], z[2][0]); result[3][0] = mad(x[3][0], y[3][0], z[3][0]); result[0][1] = mad(x[0][1], y[0][1], z[0][1]); result[1][1] = mad(x[1][1], y[1][1], z[1][1]); result[2][1] = mad(x[2][1], y[2][1], z[2][1]); result[3][1] = mad(x[3][1], y[3][1], z[3][1]); result[0][2] = mad(x[0][2], y[0][2], z[0][2]); result[1][2] = mad(x[1][2], y[1][2], z[1][2]); result[2][2] = mad(x[2][2], y[2][2], z[2][2]); result[3][2] = mad(x[3][2], y[3][2], z[3][2]); result[0][3] = mad(x[0][3], y[0][3], z[0][3]); result[1][3] = mad(x[1][3], y[1][3], z[1][3]); result[2][3] = mad(x[2][3], y[2][3], z[2][3]); 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); *ip = x - float(result); return float(result); } float2 modf(float2 x, thread float2* y) { float2 result; float buffer; result[0] = modf(x[0], &buffer); (*y)[0] = buffer; result[1] = modf(x[1], &buffer); (*y)[1] = buffer; return result; } float3 modf(float3 x, thread float3* y) { float3 result; float buffer; result[0] = modf(x[0], &buffer); (*y)[0] = buffer; result[1] = modf(x[1], &buffer); (*y)[1] = buffer; result[2] = modf(x[2], &buffer); (*y)[2] = buffer; return result; } float4 modf(float4 x, thread float4* y) { float4 result; float buffer; result[0] = modf(x[0], &buffer); (*y)[0] = buffer; result[1] = modf(x[1], &buffer); (*y)[1] = buffer; result[2] = modf(x[2], &buffer); (*y)[2] = buffer; result[3] = modf(x[3], &buffer); (*y)[3] = buffer; return result; } float2x2 modf(float2x2 x, thread float2x2* y) { float2x2 result; float buffer; result[0][0] = modf(x[0][0], &buffer); (*y)[0][0] = buffer; result[1][0] = modf(x[1][0], &buffer); (*y)[1][0] = buffer; result[0][1] = modf(x[0][1], &buffer); (*y)[0][1] = buffer; result[1][1] = modf(x[1][1], &buffer); (*y)[1][1] = buffer; return result; } float3x2 modf(float3x2 x, thread float3x2* y) { float3x2 result; float buffer; result[0][0] = modf(x[0][0], &buffer); (*y)[0][0] = buffer; result[1][0] = modf(x[1][0], &buffer); (*y)[1][0] = buffer; result[2][0] = modf(x[2][0], &buffer); (*y)[2][0] = buffer; result[0][1] = modf(x[0][1], &buffer); (*y)[0][1] = buffer; result[1][1] = modf(x[1][1], &buffer); (*y)[1][1] = buffer; result[2][1] = modf(x[2][1], &buffer); (*y)[2][1] = buffer; return result; } float4x2 modf(float4x2 x, thread float4x2* y) { float4x2 result; float buffer; result[0][0] = modf(x[0][0], &buffer); (*y)[0][0] = buffer; result[1][0] = modf(x[1][0], &buffer); (*y)[1][0] = buffer; result[2][0] = modf(x[2][0], &buffer); (*y)[2][0] = buffer; result[3][0] = modf(x[3][0], &buffer); (*y)[3][0] = buffer; result[0][1] = modf(x[0][1], &buffer); (*y)[0][1] = buffer; result[1][1] = modf(x[1][1], &buffer); (*y)[1][1] = buffer; result[2][1] = modf(x[2][1], &buffer); (*y)[2][1] = buffer; result[3][1] = modf(x[3][1], &buffer); (*y)[3][1] = buffer; return result; } float2x3 modf(float2x3 x, thread float2x3* y) { float2x3 result; float buffer; result[0][0] = modf(x[0][0], &buffer); (*y)[0][0] = buffer; result[1][0] = modf(x[1][0], &buffer); (*y)[1][0] = buffer; result[0][1] = modf(x[0][1], &buffer); (*y)[0][1] = buffer; result[1][1] = modf(x[1][1], &buffer); (*y)[1][1] = buffer; result[0][2] = modf(x[0][2], &buffer); (*y)[0][2] = buffer; result[1][2] = modf(x[1][2], &buffer); (*y)[1][2] = buffer; return result; } float3x3 modf(float3x3 x, thread float3x3* y) { float3x3 result; float buffer; result[0][0] = modf(x[0][0], &buffer); (*y)[0][0] = buffer; result[1][0] = modf(x[1][0], &buffer); (*y)[1][0] = buffer; result[2][0] = modf(x[2][0], &buffer); (*y)[2][0] = buffer; result[0][1] = modf(x[0][1], &buffer); (*y)[0][1] = buffer; result[1][1] = modf(x[1][1], &buffer); (*y)[1][1] = buffer; result[2][1] = modf(x[2][1], &buffer); (*y)[2][1] = buffer; result[0][2] = modf(x[0][2], &buffer); (*y)[0][2] = buffer; result[1][2] = modf(x[1][2], &buffer); (*y)[1][2] = buffer; result[2][2] = modf(x[2][2], &buffer); (*y)[2][2] = buffer; return result; } float4x3 modf(float4x3 x, thread float4x3* y) { float4x3 result; float buffer; result[0][0] = modf(x[0][0], &buffer); (*y)[0][0] = buffer; result[1][0] = modf(x[1][0], &buffer); (*y)[1][0] = buffer; result[2][0] = modf(x[2][0], &buffer); (*y)[2][0] = buffer; result[3][0] = modf(x[3][0], &buffer); (*y)[3][0] = buffer; result[0][1] = modf(x[0][1], &buffer); (*y)[0][1] = buffer; result[1][1] = modf(x[1][1], &buffer); (*y)[1][1] = buffer; result[2][1] = modf(x[2][1], &buffer); (*y)[2][1] = buffer; result[3][1] = modf(x[3][1], &buffer); (*y)[3][1] = buffer; result[0][2] = modf(x[0][2], &buffer); (*y)[0][2] = buffer; result[1][2] = modf(x[1][2], &buffer); (*y)[1][2] = buffer; result[2][2] = modf(x[2][2], &buffer); (*y)[2][2] = buffer; result[3][2] = modf(x[3][2], &buffer); (*y)[3][2] = buffer; return result; } float2x4 modf(float2x4 x, thread float2x4* y) { float2x4 result; float buffer; result[0][0] = modf(x[0][0], &buffer); (*y)[0][0] = buffer; result[1][0] = modf(x[1][0], &buffer); (*y)[1][0] = buffer; result[0][1] = modf(x[0][1], &buffer); (*y)[0][1] = buffer; result[1][1] = modf(x[1][1], &buffer); (*y)[1][1] = buffer; result[0][2] = modf(x[0][2], &buffer); (*y)[0][2] = buffer; result[1][2] = modf(x[1][2], &buffer); (*y)[1][2] = buffer; result[0][3] = modf(x[0][3], &buffer); (*y)[0][3] = buffer; result[1][3] = modf(x[1][3], &buffer); (*y)[1][3] = buffer; return result; } float3x4 modf(float3x4 x, thread float3x4* y) { float3x4 result; float buffer; result[0][0] = modf(x[0][0], &buffer); (*y)[0][0] = buffer; result[1][0] = modf(x[1][0], &buffer); (*y)[1][0] = buffer; result[2][0] = modf(x[2][0], &buffer); (*y)[2][0] = buffer; result[0][1] = modf(x[0][1], &buffer); (*y)[0][1] = buffer; result[1][1] = modf(x[1][1], &buffer); (*y)[1][1] = buffer; result[2][1] = modf(x[2][1], &buffer); (*y)[2][1] = buffer; result[0][2] = modf(x[0][2], &buffer); (*y)[0][2] = buffer; result[1][2] = modf(x[1][2], &buffer); (*y)[1][2] = buffer; result[2][2] = modf(x[2][2], &buffer); (*y)[2][2] = buffer; result[0][3] = modf(x[0][3], &buffer); (*y)[0][3] = buffer; result[1][3] = modf(x[1][3], &buffer); (*y)[1][3] = buffer; result[2][3] = modf(x[2][3], &buffer); (*y)[2][3] = buffer; return result; } float4x4 modf(float4x4 x, thread float4x4* y) { float4x4 result; float buffer; result[0][0] = modf(x[0][0], &buffer); (*y)[0][0] = buffer; result[1][0] = modf(x[1][0], &buffer); (*y)[1][0] = buffer; result[2][0] = modf(x[2][0], &buffer); (*y)[2][0] = buffer; result[3][0] = modf(x[3][0], &buffer); (*y)[3][0] = buffer; result[0][1] = modf(x[0][1], &buffer); (*y)[0][1] = buffer; result[1][1] = modf(x[1][1], &buffer); (*y)[1][1] = buffer; result[2][1] = modf(x[2][1], &buffer); (*y)[2][1] = buffer; result[3][1] = modf(x[3][1], &buffer); (*y)[3][1] = buffer; result[0][2] = modf(x[0][2], &buffer); (*y)[0][2] = buffer; result[1][2] = modf(x[1][2], &buffer); (*y)[1][2] = buffer; result[2][2] = modf(x[2][2], &buffer); (*y)[2][2] = buffer; result[3][2] = modf(x[3][2], &buffer); (*y)[3][2] = buffer; result[0][3] = modf(x[0][3], &buffer); (*y)[0][3] = buffer; result[1][3] = modf(x[1][3], &buffer); (*y)[1][3] = buffer; result[2][3] = modf(x[2][3], &buffer); (*y)[2][3] = buffer; result[3][3] = modf(x[3][3], &buffer); (*y)[3][3] = buffer; return result; } float modf(float x, device float* ip) { uint result = uint(x); *ip = x - float(result); return float(result); } float2 modf(float2 x, device float2* y) { float2 result; float buffer; result[0] = modf(x[0], &buffer); (*y)[0] = buffer; result[1] = modf(x[1], &buffer); (*y)[1] = buffer; return result; } float3 modf(float3 x, device float3* y) { float3 result; float buffer; result[0] = modf(x[0], &buffer); (*y)[0] = buffer; result[1] = modf(x[1], &buffer); (*y)[1] = buffer; result[2] = modf(x[2], &buffer); (*y)[2] = buffer; return result; } float4 modf(float4 x, device float4* y) { float4 result; float buffer; result[0] = modf(x[0], &buffer); (*y)[0] = buffer; result[1] = modf(x[1], &buffer); (*y)[1] = buffer; result[2] = modf(x[2], &buffer); (*y)[2] = buffer; result[3] = modf(x[3], &buffer); (*y)[3] = buffer; return result; } float2x2 modf(float2x2 x, device float2x2* y) { float2x2 result; float buffer; result[0][0] = modf(x[0][0], &buffer); (*y)[0][0] = buffer; result[1][0] = modf(x[1][0], &buffer); (*y)[1][0] = buffer; result[0][1] = modf(x[0][1], &buffer); (*y)[0][1] = buffer; result[1][1] = modf(x[1][1], &buffer); (*y)[1][1] = buffer; return result; } float3x2 modf(float3x2 x, device float3x2* y) { float3x2 result; float buffer; result[0][0] = modf(x[0][0], &buffer); (*y)[0][0] = buffer; result[1][0] = modf(x[1][0], &buffer); (*y)[1][0] = buffer; result[2][0] = modf(x[2][0], &buffer); (*y)[2][0] = buffer; result[0][1] = modf(x[0][1], &buffer); (*y)[0][1] = buffer; result[1][1] = modf(x[1][1], &buffer); (*y)[1][1] = buffer; result[2][1] = modf(x[2][1], &buffer); (*y)[2][1] = buffer; return result; } float4x2 modf(float4x2 x, device float4x2* y) { float4x2 result; float buffer; result[0][0] = modf(x[0][0], &buffer); (*y)[0][0] = buffer; result[1][0] = modf(x[1][0], &buffer); (*y)[1][0] = buffer; result[2][0] = modf(x[2][0], &buffer); (*y)[2][0] = buffer; result[3][0] = modf(x[3][0], &buffer); (*y)[3][0] = buffer; result[0][1] = modf(x[0][1], &buffer); (*y)[0][1] = buffer; result[1][1] = modf(x[1][1], &buffer); (*y)[1][1] = buffer; result[2][1] = modf(x[2][1], &buffer); (*y)[2][1] = buffer; result[3][1] = modf(x[3][1], &buffer); (*y)[3][1] = buffer; return result; } float2x3 modf(float2x3 x, device float2x3* y) { float2x3 result; float buffer; result[0][0] = modf(x[0][0], &buffer); (*y)[0][0] = buffer; result[1][0] = modf(x[1][0], &buffer); (*y)[1][0] = buffer; result[0][1] = modf(x[0][1], &buffer); (*y)[0][1] = buffer; result[1][1] = modf(x[1][1], &buffer); (*y)[1][1] = buffer; result[0][2] = modf(x[0][2], &buffer); (*y)[0][2] = buffer; result[1][2] = modf(x[1][2], &buffer); (*y)[1][2] = buffer; return result; } float3x3 modf(float3x3 x, device float3x3* y) { float3x3 result; float buffer; result[0][0] = modf(x[0][0], &buffer); (*y)[0][0] = buffer; result[1][0] = modf(x[1][0], &buffer); (*y)[1][0] = buffer; result[2][0] = modf(x[2][0], &buffer); (*y)[2][0] = buffer; result[0][1] = modf(x[0][1], &buffer); (*y)[0][1] = buffer; result[1][1] = modf(x[1][1], &buffer); (*y)[1][1] = buffer; result[2][1] = modf(x[2][1], &buffer); (*y)[2][1] = buffer; result[0][2] = modf(x[0][2], &buffer); (*y)[0][2] = buffer; result[1][2] = modf(x[1][2], &buffer); (*y)[1][2] = buffer; result[2][2] = modf(x[2][2], &buffer); (*y)[2][2] = buffer; return result; } float4x3 modf(float4x3 x, device float4x3* y) { float4x3 result; float buffer; result[0][0] = modf(x[0][0], &buffer); (*y)[0][0] = buffer; result[1][0] = modf(x[1][0], &buffer); (*y)[1][0] = buffer; result[2][0] = modf(x[2][0], &buffer); (*y)[2][0] = buffer; result[3][0] = modf(x[3][0], &buffer); (*y)[3][0] = buffer; result[0][1] = modf(x[0][1], &buffer); (*y)[0][1] = buffer; result[1][1] = modf(x[1][1], &buffer); (*y)[1][1] = buffer; result[2][1] = modf(x[2][1], &buffer); (*y)[2][1] = buffer; result[3][1] = modf(x[3][1], &buffer); (*y)[3][1] = buffer; result[0][2] = modf(x[0][2], &buffer); (*y)[0][2] = buffer; result[1][2] = modf(x[1][2], &buffer); (*y)[1][2] = buffer; result[2][2] = modf(x[2][2], &buffer); (*y)[2][2] = buffer; result[3][2] = modf(x[3][2], &buffer); (*y)[3][2] = buffer; return result; } float2x4 modf(float2x4 x, device float2x4* y) { float2x4 result; float buffer; result[0][0] = modf(x[0][0], &buffer); (*y)[0][0] = buffer; result[1][0] = modf(x[1][0], &buffer); (*y)[1][0] = buffer; result[0][1] = modf(x[0][1], &buffer); (*y)[0][1] = buffer; result[1][1] = modf(x[1][1], &buffer); (*y)[1][1] = buffer; result[0][2] = modf(x[0][2], &buffer); (*y)[0][2] = buffer; result[1][2] = modf(x[1][2], &buffer); (*y)[1][2] = buffer; result[0][3] = modf(x[0][3], &buffer); (*y)[0][3] = buffer; result[1][3] = modf(x[1][3], &buffer); (*y)[1][3] = buffer; return result; } float3x4 modf(float3x4 x, device float3x4* y) { float3x4 result; float buffer; result[0][0] = modf(x[0][0], &buffer); (*y)[0][0] = buffer; result[1][0] = modf(x[1][0], &buffer); (*y)[1][0] = buffer; result[2][0] = modf(x[2][0], &buffer); (*y)[2][0] = buffer; result[0][1] = modf(x[0][1], &buffer); (*y)[0][1] = buffer; result[1][1] = modf(x[1][1], &buffer); (*y)[1][1] = buffer; result[2][1] = modf(x[2][1], &buffer); (*y)[2][1] = buffer; result[0][2] = modf(x[0][2], &buffer); (*y)[0][2] = buffer; result[1][2] = modf(x[1][2], &buffer); (*y)[1][2] = buffer; result[2][2] = modf(x[2][2], &buffer); (*y)[2][2] = buffer; result[0][3] = modf(x[0][3], &buffer); (*y)[0][3] = buffer; result[1][3] = modf(x[1][3], &buffer); (*y)[1][3] = buffer; result[2][3] = modf(x[2][3], &buffer); (*y)[2][3] = buffer; return result; } float4x4 modf(float4x4 x, device float4x4* y) { float4x4 result; float buffer; result[0][0] = modf(x[0][0], &buffer); (*y)[0][0] = buffer; result[1][0] = modf(x[1][0], &buffer); (*y)[1][0] = buffer; result[2][0] = modf(x[2][0], &buffer); (*y)[2][0] = buffer; result[3][0] = modf(x[3][0], &buffer); (*y)[3][0] = buffer; result[0][1] = modf(x[0][1], &buffer); (*y)[0][1] = buffer; result[1][1] = modf(x[1][1], &buffer); (*y)[1][1] = buffer; result[2][1] = modf(x[2][1], &buffer); (*y)[2][1] = buffer; result[3][1] = modf(x[3][1], &buffer); (*y)[3][1] = buffer; result[0][2] = modf(x[0][2], &buffer); (*y)[0][2] = buffer; result[1][2] = modf(x[1][2], &buffer); (*y)[1][2] = buffer; result[2][2] = modf(x[2][2], &buffer); (*y)[2][2] = buffer; result[3][2] = modf(x[3][2], &buffer); (*y)[3][2] = buffer; result[0][3] = modf(x[0][3], &buffer); (*y)[0][3] = buffer; result[1][3] = modf(x[1][3], &buffer); (*y)[1][3] = buffer; result[2][3] = modf(x[2][3], &buffer); (*y)[2][3] = buffer; result[3][3] = modf(x[3][3], &buffer); (*y)[3][3] = buffer; return result; } float modf(float x, threadgroup float* ip) { uint result = uint(x); *ip = x - float(result); return float(result); } float2 modf(float2 x, threadgroup float2* y) { float2 result; float buffer; result[0] = modf(x[0], &buffer); (*y)[0] = buffer; result[1] = modf(x[1], &buffer); (*y)[1] = buffer; return result; } float3 modf(float3 x, threadgroup float3* y) { float3 result; float buffer; result[0] = modf(x[0], &buffer); (*y)[0] = buffer; result[1] = modf(x[1], &buffer); (*y)[1] = buffer; result[2] = modf(x[2], &buffer); (*y)[2] = buffer; return result; } float4 modf(float4 x, threadgroup float4* y) { float4 result; float buffer; result[0] = modf(x[0], &buffer); (*y)[0] = buffer; result[1] = modf(x[1], &buffer); (*y)[1] = buffer; result[2] = modf(x[2], &buffer); (*y)[2] = buffer; result[3] = modf(x[3], &buffer); (*y)[3] = buffer; return result; } float2x2 modf(float2x2 x, threadgroup float2x2* y) { float2x2 result; float buffer; result[0][0] = modf(x[0][0], &buffer); (*y)[0][0] = buffer; result[1][0] = modf(x[1][0], &buffer); (*y)[1][0] = buffer; result[0][1] = modf(x[0][1], &buffer); (*y)[0][1] = buffer; result[1][1] = modf(x[1][1], &buffer); (*y)[1][1] = buffer; return result; } float3x2 modf(float3x2 x, threadgroup float3x2* y) { float3x2 result; float buffer; result[0][0] = modf(x[0][0], &buffer); (*y)[0][0] = buffer; result[1][0] = modf(x[1][0], &buffer); (*y)[1][0] = buffer; result[2][0] = modf(x[2][0], &buffer); (*y)[2][0] = buffer; result[0][1] = modf(x[0][1], &buffer); (*y)[0][1] = buffer; result[1][1] = modf(x[1][1], &buffer); (*y)[1][1] = buffer; result[2][1] = modf(x[2][1], &buffer); (*y)[2][1] = buffer; return result; } float4x2 modf(float4x2 x, threadgroup float4x2* y) { float4x2 result; float buffer; result[0][0] = modf(x[0][0], &buffer); (*y)[0][0] = buffer; result[1][0] = modf(x[1][0], &buffer); (*y)[1][0] = buffer; result[2][0] = modf(x[2][0], &buffer); (*y)[2][0] = buffer; result[3][0] = modf(x[3][0], &buffer); (*y)[3][0] = buffer; result[0][1] = modf(x[0][1], &buffer); (*y)[0][1] = buffer; result[1][1] = modf(x[1][1], &buffer); (*y)[1][1] = buffer; result[2][1] = modf(x[2][1], &buffer); (*y)[2][1] = buffer; result[3][1] = modf(x[3][1], &buffer); (*y)[3][1] = buffer; return result; } float2x3 modf(float2x3 x, threadgroup float2x3* y) { float2x3 result; float buffer; result[0][0] = modf(x[0][0], &buffer); (*y)[0][0] = buffer; result[1][0] = modf(x[1][0], &buffer); (*y)[1][0] = buffer; result[0][1] = modf(x[0][1], &buffer); (*y)[0][1] = buffer; result[1][1] = modf(x[1][1], &buffer); (*y)[1][1] = buffer; result[0][2] = modf(x[0][2], &buffer); (*y)[0][2] = buffer; result[1][2] = modf(x[1][2], &buffer); (*y)[1][2] = buffer; return result; } float3x3 modf(float3x3 x, threadgroup float3x3* y) { float3x3 result; float buffer; result[0][0] = modf(x[0][0], &buffer); (*y)[0][0] = buffer; result[1][0] = modf(x[1][0], &buffer); (*y)[1][0] = buffer; result[2][0] = modf(x[2][0], &buffer); (*y)[2][0] = buffer; result[0][1] = modf(x[0][1], &buffer); (*y)[0][1] = buffer; result[1][1] = modf(x[1][1], &buffer); (*y)[1][1] = buffer; result[2][1] = modf(x[2][1], &buffer); (*y)[2][1] = buffer; result[0][2] = modf(x[0][2], &buffer); (*y)[0][2] = buffer; result[1][2] = modf(x[1][2], &buffer); (*y)[1][2] = buffer; result[2][2] = modf(x[2][2], &buffer); (*y)[2][2] = buffer; return result; } float4x3 modf(float4x3 x, threadgroup float4x3* y) { float4x3 result; float buffer; result[0][0] = modf(x[0][0], &buffer); (*y)[0][0] = buffer; result[1][0] = modf(x[1][0], &buffer); (*y)[1][0] = buffer; result[2][0] = modf(x[2][0], &buffer); (*y)[2][0] = buffer; result[3][0] = modf(x[3][0], &buffer); (*y)[3][0] = buffer; result[0][1] = modf(x[0][1], &buffer); (*y)[0][1] = buffer; result[1][1] = modf(x[1][1], &buffer); (*y)[1][1] = buffer; result[2][1] = modf(x[2][1], &buffer); (*y)[2][1] = buffer; result[3][1] = modf(x[3][1], &buffer); (*y)[3][1] = buffer; result[0][2] = modf(x[0][2], &buffer); (*y)[0][2] = buffer; result[1][2] = modf(x[1][2], &buffer); (*y)[1][2] = buffer; result[2][2] = modf(x[2][2], &buffer); (*y)[2][2] = buffer; result[3][2] = modf(x[3][2], &buffer); (*y)[3][2] = buffer; return result; } float2x4 modf(float2x4 x, threadgroup float2x4* y) { float2x4 result; float buffer; result[0][0] = modf(x[0][0], &buffer); (*y)[0][0] = buffer; result[1][0] = modf(x[1][0], &buffer); (*y)[1][0] = buffer; result[0][1] = modf(x[0][1], &buffer); (*y)[0][1] = buffer; result[1][1] = modf(x[1][1], &buffer); (*y)[1][1] = buffer; result[0][2] = modf(x[0][2], &buffer); (*y)[0][2] = buffer; result[1][2] = modf(x[1][2], &buffer); (*y)[1][2] = buffer; result[0][3] = modf(x[0][3], &buffer); (*y)[0][3] = buffer; result[1][3] = modf(x[1][3], &buffer); (*y)[1][3] = buffer; return result; } float3x4 modf(float3x4 x, threadgroup float3x4* y) { float3x4 result; float buffer; result[0][0] = modf(x[0][0], &buffer); (*y)[0][0] = buffer; result[1][0] = modf(x[1][0], &buffer); (*y)[1][0] = buffer; result[2][0] = modf(x[2][0], &buffer); (*y)[2][0] = buffer; result[0][1] = modf(x[0][1], &buffer); (*y)[0][1] = buffer; result[1][1] = modf(x[1][1], &buffer); (*y)[1][1] = buffer; result[2][1] = modf(x[2][1], &buffer); (*y)[2][1] = buffer; result[0][2] = modf(x[0][2], &buffer); (*y)[0][2] = buffer; result[1][2] = modf(x[1][2], &buffer); (*y)[1][2] = buffer; result[2][2] = modf(x[2][2], &buffer); (*y)[2][2] = buffer; result[0][3] = modf(x[0][3], &buffer); (*y)[0][3] = buffer; result[1][3] = modf(x[1][3], &buffer); (*y)[1][3] = buffer; result[2][3] = modf(x[2][3], &buffer); (*y)[2][3] = buffer; return result; } float4x4 modf(float4x4 x, threadgroup float4x4* y) { float4x4 result; float buffer; result[0][0] = modf(x[0][0], &buffer); (*y)[0][0] = buffer; result[1][0] = modf(x[1][0], &buffer); (*y)[1][0] = buffer; result[2][0] = modf(x[2][0], &buffer); (*y)[2][0] = buffer; result[3][0] = modf(x[3][0], &buffer); (*y)[3][0] = buffer; result[0][1] = modf(x[0][1], &buffer); (*y)[0][1] = buffer; result[1][1] = modf(x[1][1], &buffer); (*y)[1][1] = buffer; result[2][1] = modf(x[2][1], &buffer); (*y)[2][1] = buffer; result[3][1] = modf(x[3][1], &buffer); (*y)[3][1] = buffer; result[0][2] = modf(x[0][2], &buffer); (*y)[0][2] = buffer; result[1][2] = modf(x[1][2], &buffer); (*y)[1][2] = buffer; result[2][2] = modf(x[2][2], &buffer); (*y)[2][2] = buffer; result[3][2] = modf(x[3][2], &buffer); (*y)[3][2] = buffer; result[0][3] = modf(x[0][3], &buffer); (*y)[0][3] = buffer; result[1][3] = modf(x[1][3], &buffer); (*y)[1][3] = buffer; result[2][3] = modf(x[2][3], &buffer); (*y)[2][3] = buffer; result[3][3] = modf(x[3][3], &buffer); (*y)[3][3] = buffer; 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-- */ 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 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[1][0] = exp2(x[1][0]); result[0][1] = exp2(x[0][1]); result[1][1] = exp2(x[1][1]); return result; } float3x2 exp2(float3x2 x) { float3x2 result; result[0][0] = exp2(x[0][0]); result[1][0] = exp2(x[1][0]); result[2][0] = exp2(x[2][0]); result[0][1] = exp2(x[0][1]); result[1][1] = exp2(x[1][1]); result[2][1] = exp2(x[2][1]); return result; } float4x2 exp2(float4x2 x) { float4x2 result; result[0][0] = exp2(x[0][0]); result[1][0] = exp2(x[1][0]); result[2][0] = exp2(x[2][0]); result[3][0] = exp2(x[3][0]); result[0][1] = exp2(x[0][1]); result[1][1] = exp2(x[1][1]); result[2][1] = exp2(x[2][1]); result[3][1] = exp2(x[3][1]); return result; } float2x3 exp2(float2x3 x) { float2x3 result; result[0][0] = exp2(x[0][0]); result[1][0] = exp2(x[1][0]); result[0][1] = exp2(x[0][1]); result[1][1] = exp2(x[1][1]); result[0][2] = exp2(x[0][2]); result[1][2] = exp2(x[1][2]); return result; } float3x3 exp2(float3x3 x) { float3x3 result; result[0][0] = exp2(x[0][0]); result[1][0] = exp2(x[1][0]); result[2][0] = exp2(x[2][0]); result[0][1] = exp2(x[0][1]); result[1][1] = exp2(x[1][1]); result[2][1] = exp2(x[2][1]); result[0][2] = exp2(x[0][2]); result[1][2] = exp2(x[1][2]); result[2][2] = exp2(x[2][2]); return result; } float4x3 exp2(float4x3 x) { float4x3 result; result[0][0] = exp2(x[0][0]); result[1][0] = exp2(x[1][0]); result[2][0] = exp2(x[2][0]); result[3][0] = exp2(x[3][0]); result[0][1] = exp2(x[0][1]); result[1][1] = exp2(x[1][1]); result[2][1] = exp2(x[2][1]); result[3][1] = exp2(x[3][1]); result[0][2] = exp2(x[0][2]); result[1][2] = exp2(x[1][2]); result[2][2] = exp2(x[2][2]); result[3][2] = exp2(x[3][2]); return result; } float2x4 exp2(float2x4 x) { float2x4 result; result[0][0] = exp2(x[0][0]); result[1][0] = exp2(x[1][0]); result[0][1] = exp2(x[0][1]); result[1][1] = exp2(x[1][1]); result[0][2] = exp2(x[0][2]); result[1][2] = exp2(x[1][2]); result[0][3] = exp2(x[0][3]); result[1][3] = exp2(x[1][3]); return result; } float3x4 exp2(float3x4 x) { float3x4 result; result[0][0] = exp2(x[0][0]); result[1][0] = exp2(x[1][0]); result[2][0] = exp2(x[2][0]); result[0][1] = exp2(x[0][1]); result[1][1] = exp2(x[1][1]); result[2][1] = exp2(x[2][1]); result[0][2] = exp2(x[0][2]); result[1][2] = exp2(x[1][2]); result[2][2] = exp2(x[2][2]); result[0][3] = exp2(x[0][3]); result[1][3] = exp2(x[1][3]); result[2][3] = exp2(x[2][3]); return result; } float4x4 exp2(float4x4 x) { float4x4 result; result[0][0] = exp2(x[0][0]); result[1][0] = exp2(x[1][0]); result[2][0] = exp2(x[2][0]); result[3][0] = exp2(x[3][0]); result[0][1] = exp2(x[0][1]); result[1][1] = exp2(x[1][1]); result[2][1] = exp2(x[2][1]); result[3][1] = exp2(x[3][1]); result[0][2] = exp2(x[0][2]); result[1][2] = exp2(x[1][2]); result[2][2] = exp2(x[2][2]); result[3][2] = exp2(x[3][2]); result[0][3] = exp2(x[0][3]); result[1][3] = exp2(x[1][3]); result[2][3] = exp2(x[2][3]); result[3][3] = exp2(x[3][3]); 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 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[1][0] = atan(x[1][0]); result[0][1] = atan(x[0][1]); result[1][1] = atan(x[1][1]); return result; } float3x2 atan(float3x2 x) { float3x2 result; result[0][0] = atan(x[0][0]); result[1][0] = atan(x[1][0]); result[2][0] = atan(x[2][0]); result[0][1] = atan(x[0][1]); result[1][1] = atan(x[1][1]); result[2][1] = atan(x[2][1]); return result; } float4x2 atan(float4x2 x) { float4x2 result; result[0][0] = atan(x[0][0]); result[1][0] = atan(x[1][0]); result[2][0] = atan(x[2][0]); result[3][0] = atan(x[3][0]); result[0][1] = atan(x[0][1]); result[1][1] = atan(x[1][1]); result[2][1] = atan(x[2][1]); result[3][1] = atan(x[3][1]); return result; } float2x3 atan(float2x3 x) { float2x3 result; result[0][0] = atan(x[0][0]); result[1][0] = atan(x[1][0]); result[0][1] = atan(x[0][1]); result[1][1] = atan(x[1][1]); result[0][2] = atan(x[0][2]); result[1][2] = atan(x[1][2]); return result; } float3x3 atan(float3x3 x) { float3x3 result; result[0][0] = atan(x[0][0]); result[1][0] = atan(x[1][0]); result[2][0] = atan(x[2][0]); result[0][1] = atan(x[0][1]); result[1][1] = atan(x[1][1]); result[2][1] = atan(x[2][1]); result[0][2] = atan(x[0][2]); result[1][2] = atan(x[1][2]); result[2][2] = atan(x[2][2]); return result; } float4x3 atan(float4x3 x) { float4x3 result; result[0][0] = atan(x[0][0]); result[1][0] = atan(x[1][0]); result[2][0] = atan(x[2][0]); result[3][0] = atan(x[3][0]); result[0][1] = atan(x[0][1]); result[1][1] = atan(x[1][1]); result[2][1] = atan(x[2][1]); result[3][1] = atan(x[3][1]); result[0][2] = atan(x[0][2]); result[1][2] = atan(x[1][2]); result[2][2] = atan(x[2][2]); result[3][2] = atan(x[3][2]); return result; } float2x4 atan(float2x4 x) { float2x4 result; result[0][0] = atan(x[0][0]); result[1][0] = atan(x[1][0]); result[0][1] = atan(x[0][1]); result[1][1] = atan(x[1][1]); result[0][2] = atan(x[0][2]); result[1][2] = atan(x[1][2]); result[0][3] = atan(x[0][3]); result[1][3] = atan(x[1][3]); return result; } float3x4 atan(float3x4 x) { float3x4 result; result[0][0] = atan(x[0][0]); result[1][0] = atan(x[1][0]); result[2][0] = atan(x[2][0]); result[0][1] = atan(x[0][1]); result[1][1] = atan(x[1][1]); result[2][1] = atan(x[2][1]); result[0][2] = atan(x[0][2]); result[1][2] = atan(x[1][2]); result[2][2] = atan(x[2][2]); result[0][3] = atan(x[0][3]); result[1][3] = atan(x[1][3]); result[2][3] = atan(x[2][3]); return result; } float4x4 atan(float4x4 x) { float4x4 result; result[0][0] = atan(x[0][0]); result[1][0] = atan(x[1][0]); result[2][0] = atan(x[2][0]); result[3][0] = atan(x[3][0]); result[0][1] = atan(x[0][1]); result[1][1] = atan(x[1][1]); result[2][1] = atan(x[2][1]); result[3][1] = atan(x[3][1]); result[0][2] = atan(x[0][2]); result[1][2] = atan(x[1][2]); result[2][2] = atan(x[2][2]); result[3][2] = atan(x[3][2]); result[0][3] = atan(x[0][3]); result[1][3] = atan(x[1][3]); result[2][3] = atan(x[2][3]); result[3][3] = atan(x[3][3]); 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[1][0] = log(x[1][0]); result[0][1] = log(x[0][1]); result[1][1] = log(x[1][1]); return result; } float3x2 log(float3x2 x) { float3x2 result; result[0][0] = log(x[0][0]); result[1][0] = log(x[1][0]); result[2][0] = log(x[2][0]); result[0][1] = log(x[0][1]); result[1][1] = log(x[1][1]); result[2][1] = log(x[2][1]); return result; } float4x2 log(float4x2 x) { float4x2 result; result[0][0] = log(x[0][0]); result[1][0] = log(x[1][0]); result[2][0] = log(x[2][0]); result[3][0] = log(x[3][0]); result[0][1] = log(x[0][1]); result[1][1] = log(x[1][1]); result[2][1] = log(x[2][1]); result[3][1] = log(x[3][1]); return result; } float2x3 log(float2x3 x) { float2x3 result; result[0][0] = log(x[0][0]); result[1][0] = log(x[1][0]); result[0][1] = log(x[0][1]); result[1][1] = log(x[1][1]); result[0][2] = log(x[0][2]); result[1][2] = log(x[1][2]); return result; } float3x3 log(float3x3 x) { float3x3 result; result[0][0] = log(x[0][0]); result[1][0] = log(x[1][0]); result[2][0] = log(x[2][0]); result[0][1] = log(x[0][1]); result[1][1] = log(x[1][1]); result[2][1] = log(x[2][1]); result[0][2] = log(x[0][2]); result[1][2] = log(x[1][2]); result[2][2] = log(x[2][2]); return result; } float4x3 log(float4x3 x) { float4x3 result; result[0][0] = log(x[0][0]); result[1][0] = log(x[1][0]); result[2][0] = log(x[2][0]); result[3][0] = log(x[3][0]); result[0][1] = log(x[0][1]); result[1][1] = log(x[1][1]); result[2][1] = log(x[2][1]); result[3][1] = log(x[3][1]); result[0][2] = log(x[0][2]); result[1][2] = log(x[1][2]); result[2][2] = log(x[2][2]); result[3][2] = log(x[3][2]); return result; } float2x4 log(float2x4 x) { float2x4 result; result[0][0] = log(x[0][0]); result[1][0] = log(x[1][0]); result[0][1] = log(x[0][1]); result[1][1] = log(x[1][1]); result[0][2] = log(x[0][2]); result[1][2] = log(x[1][2]); result[0][3] = log(x[0][3]); result[1][3] = log(x[1][3]); return result; } float3x4 log(float3x4 x) { float3x4 result; result[0][0] = log(x[0][0]); result[1][0] = log(x[1][0]); result[2][0] = log(x[2][0]); result[0][1] = log(x[0][1]); result[1][1] = log(x[1][1]); result[2][1] = log(x[2][1]); result[0][2] = log(x[0][2]); result[1][2] = log(x[1][2]); result[2][2] = log(x[2][2]); result[0][3] = log(x[0][3]); result[1][3] = log(x[1][3]); result[2][3] = log(x[2][3]); return result; } float4x4 log(float4x4 x) { float4x4 result; result[0][0] = log(x[0][0]); result[1][0] = log(x[1][0]); result[2][0] = log(x[2][0]); result[3][0] = log(x[3][0]); result[0][1] = log(x[0][1]); result[1][1] = log(x[1][1]); result[2][1] = log(x[2][1]); result[3][1] = log(x[3][1]); result[0][2] = log(x[0][2]); result[1][2] = log(x[1][2]); result[2][2] = log(x[2][2]); result[3][2] = log(x[3][2]); result[0][3] = log(x[0][3]); result[1][3] = log(x[1][3]); result[2][3] = log(x[2][3]); result[3][3] = log(x[3][3]); return result; } /* Functions named Load */ native uint Load(Texture1D, int location); native uint Load(Texture1DArray, int2 location); native uint Load(Texture2D, int2 location); native uint Load(Texture2DArray, int3 location); native uint Load(Texture3D, int3 location); native uint2 Load(Texture1D, int location); native uint2 Load(Texture1DArray, int2 location); native uint2 Load(Texture2D, int2 location); native uint2 Load(Texture2DArray, int3 location); native uint2 Load(Texture3D, int3 location); native uint3 Load(Texture1D, int location); native uint3 Load(Texture1DArray, int2 location); native uint3 Load(Texture2D, int2 location); native uint3 Load(Texture2DArray, int3 location); native uint3 Load(Texture3D, int3 location); native uint4 Load(Texture1D, int location); native uint4 Load(Texture1DArray, int2 location); native uint4 Load(Texture2D, int2 location); native uint4 Load(Texture2DArray, int3 location); native uint4 Load(Texture3D, int3 location); native int Load(Texture1D, int location); native int Load(Texture1DArray, int2 location); native int Load(Texture2D, int2 location); native int Load(Texture2DArray, int3 location); native int Load(Texture3D, int3 location); native int2 Load(Texture1D, int location); native int2 Load(Texture1DArray, int2 location); native int2 Load(Texture2D, int2 location); native int2 Load(Texture2DArray, int3 location); native int2 Load(Texture3D, int3 location); native int3 Load(Texture1D, int location); native int3 Load(Texture1DArray, int2 location); native int3 Load(Texture2D, int2 location); native int3 Load(Texture2DArray, int3 location); native int3 Load(Texture3D, int3 location); native int4 Load(Texture1D, int location); native int4 Load(Texture1DArray, int2 location); native int4 Load(Texture2D, int2 location); native int4 Load(Texture2DArray, int3 location); native int4 Load(Texture3D, int3 location); native float Load(Texture1D, int location); native float Load(Texture1DArray, int2 location); native float Load(Texture2D, int2 location); native float Load(Texture2DArray, int3 location); native float Load(Texture3D, int3 location); native float2 Load(Texture1D, int location); native float2 Load(Texture1DArray, int2 location); native float2 Load(Texture2D, int2 location); native float2 Load(Texture2DArray, int3 location); native float2 Load(Texture3D, int3 location); native float3 Load(Texture1D, int location); native float3 Load(Texture1DArray, int2 location); native float3 Load(Texture2D, int2 location); native float3 Load(Texture2DArray, int3 location); native float3 Load(Texture3D, int3 location); native float4 Load(Texture1D, int location); native float4 Load(Texture1DArray, int2 location); native float4 Load(Texture2D, int2 location); native float4 Load(Texture2DArray, int3 location); native float4 Load(Texture3D, int3 location); native float Load(TextureDepth2D, int2 location); native float Load(TextureDepth2DArray, int3 location); /* 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[1][0] = sin(x[1][0]); result[0][1] = sin(x[0][1]); result[1][1] = sin(x[1][1]); return result; } float3x2 sin(float3x2 x) { float3x2 result; result[0][0] = sin(x[0][0]); result[1][0] = sin(x[1][0]); result[2][0] = sin(x[2][0]); result[0][1] = sin(x[0][1]); result[1][1] = sin(x[1][1]); result[2][1] = sin(x[2][1]); return result; } float4x2 sin(float4x2 x) { float4x2 result; result[0][0] = sin(x[0][0]); result[1][0] = sin(x[1][0]); result[2][0] = sin(x[2][0]); result[3][0] = sin(x[3][0]); result[0][1] = sin(x[0][1]); result[1][1] = sin(x[1][1]); result[2][1] = sin(x[2][1]); result[3][1] = sin(x[3][1]); return result; } float2x3 sin(float2x3 x) { float2x3 result; result[0][0] = sin(x[0][0]); result[1][0] = sin(x[1][0]); result[0][1] = sin(x[0][1]); result[1][1] = sin(x[1][1]); result[0][2] = sin(x[0][2]); result[1][2] = sin(x[1][2]); return result; } float3x3 sin(float3x3 x) { float3x3 result; result[0][0] = sin(x[0][0]); result[1][0] = sin(x[1][0]); result[2][0] = sin(x[2][0]); result[0][1] = sin(x[0][1]); result[1][1] = sin(x[1][1]); result[2][1] = sin(x[2][1]); result[0][2] = sin(x[0][2]); result[1][2] = sin(x[1][2]); result[2][2] = sin(x[2][2]); return result; } float4x3 sin(float4x3 x) { float4x3 result; result[0][0] = sin(x[0][0]); result[1][0] = sin(x[1][0]); result[2][0] = sin(x[2][0]); result[3][0] = sin(x[3][0]); result[0][1] = sin(x[0][1]); result[1][1] = sin(x[1][1]); result[2][1] = sin(x[2][1]); result[3][1] = sin(x[3][1]); result[0][2] = sin(x[0][2]); result[1][2] = sin(x[1][2]); result[2][2] = sin(x[2][2]); result[3][2] = sin(x[3][2]); return result; } float2x4 sin(float2x4 x) { float2x4 result; result[0][0] = sin(x[0][0]); result[1][0] = sin(x[1][0]); result[0][1] = sin(x[0][1]); result[1][1] = sin(x[1][1]); result[0][2] = sin(x[0][2]); result[1][2] = sin(x[1][2]); result[0][3] = sin(x[0][3]); result[1][3] = sin(x[1][3]); return result; } float3x4 sin(float3x4 x) { float3x4 result; result[0][0] = sin(x[0][0]); result[1][0] = sin(x[1][0]); result[2][0] = sin(x[2][0]); result[0][1] = sin(x[0][1]); result[1][1] = sin(x[1][1]); result[2][1] = sin(x[2][1]); result[0][2] = sin(x[0][2]); result[1][2] = sin(x[1][2]); result[2][2] = sin(x[2][2]); result[0][3] = sin(x[0][3]); result[1][3] = sin(x[1][3]); result[2][3] = sin(x[2][3]); return result; } float4x4 sin(float4x4 x) { float4x4 result; result[0][0] = sin(x[0][0]); result[1][0] = sin(x[1][0]); result[2][0] = sin(x[2][0]); result[3][0] = sin(x[3][0]); result[0][1] = sin(x[0][1]); result[1][1] = sin(x[1][1]); result[2][1] = sin(x[2][1]); result[3][1] = sin(x[3][1]); result[0][2] = sin(x[0][2]); result[1][2] = sin(x[1][2]); result[2][2] = sin(x[2][2]); result[3][2] = sin(x[3][2]); result[0][3] = sin(x[0][3]); result[1][3] = sin(x[1][3]); result[2][3] = sin(x[2][3]); result[3][3] = sin(x[3][3]); return result; } /* Functions named sincos */ void sincos(float x, thread float* y, thread float* z) { *y = sin(x); *z = cos(x); } void sincos(float2 x, thread float2* y, thread float2* z) { float sinResult; float cosResult; sincos(x[0], &sinResult, &cosResult); (*y)[0] = sinResult; (*z)[0] = cosResult; sincos(x[1], &sinResult, &cosResult); (*y)[1] = sinResult; (*z)[1] = cosResult; } void sincos(float3 x, thread float3* y, thread float3* z) { float sinResult; float cosResult; sincos(x[0], &sinResult, &cosResult); (*y)[0] = sinResult; (*z)[0] = cosResult; sincos(x[1], &sinResult, &cosResult); (*y)[1] = sinResult; (*z)[1] = cosResult; sincos(x[2], &sinResult, &cosResult); (*y)[2] = sinResult; (*z)[2] = cosResult; } void sincos(float4 x, thread float4* y, thread float4* z) { float sinResult; float cosResult; sincos(x[0], &sinResult, &cosResult); (*y)[0] = sinResult; (*z)[0] = cosResult; sincos(x[1], &sinResult, &cosResult); (*y)[1] = sinResult; (*z)[1] = cosResult; sincos(x[2], &sinResult, &cosResult); (*y)[2] = sinResult; (*z)[2] = cosResult; sincos(x[3], &sinResult, &cosResult); (*y)[3] = sinResult; (*z)[3] = cosResult; } void sincos(float2x2 x, thread float2x2* y, thread float2x2* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; } void sincos(float3x2 x, thread float3x2* y, thread float3x2* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; } void sincos(float4x2 x, thread float4x2* y, thread float4x2* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[3][0], &sinResult, &cosResult); (*y)[3][0] = sinResult; (*z)[3][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[3][1], &sinResult, &cosResult); (*y)[3][1] = sinResult; (*z)[3][1] = cosResult; } void sincos(float2x3 x, thread float2x3* y, thread float2x3* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; } void sincos(float3x3 x, thread float3x3* y, thread float3x3* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; } void sincos(float4x3 x, thread float4x3* y, thread float4x3* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[3][0], &sinResult, &cosResult); (*y)[3][0] = sinResult; (*z)[3][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[3][1], &sinResult, &cosResult); (*y)[3][1] = sinResult; (*z)[3][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; sincos(x[3][2], &sinResult, &cosResult); (*y)[3][2] = sinResult; (*z)[3][2] = cosResult; } void sincos(float2x4 x, thread float2x4* y, thread float2x4* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[0][3], &sinResult, &cosResult); (*y)[0][3] = sinResult; (*z)[0][3] = cosResult; sincos(x[1][3], &sinResult, &cosResult); (*y)[1][3] = sinResult; (*z)[1][3] = cosResult; } void sincos(float3x4 x, thread float3x4* y, thread float3x4* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; sincos(x[0][3], &sinResult, &cosResult); (*y)[0][3] = sinResult; (*z)[0][3] = cosResult; sincos(x[1][3], &sinResult, &cosResult); (*y)[1][3] = sinResult; (*z)[1][3] = cosResult; sincos(x[2][3], &sinResult, &cosResult); (*y)[2][3] = sinResult; (*z)[2][3] = cosResult; } void sincos(float4x4 x, thread float4x4* y, thread float4x4* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[3][0], &sinResult, &cosResult); (*y)[3][0] = sinResult; (*z)[3][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[3][1], &sinResult, &cosResult); (*y)[3][1] = sinResult; (*z)[3][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; sincos(x[3][2], &sinResult, &cosResult); (*y)[3][2] = sinResult; (*z)[3][2] = cosResult; sincos(x[0][3], &sinResult, &cosResult); (*y)[0][3] = sinResult; (*z)[0][3] = cosResult; sincos(x[1][3], &sinResult, &cosResult); (*y)[1][3] = sinResult; (*z)[1][3] = cosResult; sincos(x[2][3], &sinResult, &cosResult); (*y)[2][3] = sinResult; (*z)[2][3] = cosResult; sincos(x[3][3], &sinResult, &cosResult); (*y)[3][3] = sinResult; (*z)[3][3] = cosResult; } void sincos(float x, thread float* y, device float* z) { *y = sin(x); *z = cos(x); } void sincos(float2 x, thread float2* y, device float2* z) { float sinResult; float cosResult; sincos(x[0], &sinResult, &cosResult); (*y)[0] = sinResult; (*z)[0] = cosResult; sincos(x[1], &sinResult, &cosResult); (*y)[1] = sinResult; (*z)[1] = cosResult; } void sincos(float3 x, thread float3* y, device float3* z) { float sinResult; float cosResult; sincos(x[0], &sinResult, &cosResult); (*y)[0] = sinResult; (*z)[0] = cosResult; sincos(x[1], &sinResult, &cosResult); (*y)[1] = sinResult; (*z)[1] = cosResult; sincos(x[2], &sinResult, &cosResult); (*y)[2] = sinResult; (*z)[2] = cosResult; } void sincos(float4 x, thread float4* y, device float4* z) { float sinResult; float cosResult; sincos(x[0], &sinResult, &cosResult); (*y)[0] = sinResult; (*z)[0] = cosResult; sincos(x[1], &sinResult, &cosResult); (*y)[1] = sinResult; (*z)[1] = cosResult; sincos(x[2], &sinResult, &cosResult); (*y)[2] = sinResult; (*z)[2] = cosResult; sincos(x[3], &sinResult, &cosResult); (*y)[3] = sinResult; (*z)[3] = cosResult; } void sincos(float2x2 x, thread float2x2* y, device float2x2* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; } void sincos(float3x2 x, thread float3x2* y, device float3x2* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; } void sincos(float4x2 x, thread float4x2* y, device float4x2* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[3][0], &sinResult, &cosResult); (*y)[3][0] = sinResult; (*z)[3][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[3][1], &sinResult, &cosResult); (*y)[3][1] = sinResult; (*z)[3][1] = cosResult; } void sincos(float2x3 x, thread float2x3* y, device float2x3* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; } void sincos(float3x3 x, thread float3x3* y, device float3x3* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; } void sincos(float4x3 x, thread float4x3* y, device float4x3* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[3][0], &sinResult, &cosResult); (*y)[3][0] = sinResult; (*z)[3][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[3][1], &sinResult, &cosResult); (*y)[3][1] = sinResult; (*z)[3][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; sincos(x[3][2], &sinResult, &cosResult); (*y)[3][2] = sinResult; (*z)[3][2] = cosResult; } void sincos(float2x4 x, thread float2x4* y, device float2x4* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[0][3], &sinResult, &cosResult); (*y)[0][3] = sinResult; (*z)[0][3] = cosResult; sincos(x[1][3], &sinResult, &cosResult); (*y)[1][3] = sinResult; (*z)[1][3] = cosResult; } void sincos(float3x4 x, thread float3x4* y, device float3x4* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; sincos(x[0][3], &sinResult, &cosResult); (*y)[0][3] = sinResult; (*z)[0][3] = cosResult; sincos(x[1][3], &sinResult, &cosResult); (*y)[1][3] = sinResult; (*z)[1][3] = cosResult; sincos(x[2][3], &sinResult, &cosResult); (*y)[2][3] = sinResult; (*z)[2][3] = cosResult; } void sincos(float4x4 x, thread float4x4* y, device float4x4* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[3][0], &sinResult, &cosResult); (*y)[3][0] = sinResult; (*z)[3][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[3][1], &sinResult, &cosResult); (*y)[3][1] = sinResult; (*z)[3][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; sincos(x[3][2], &sinResult, &cosResult); (*y)[3][2] = sinResult; (*z)[3][2] = cosResult; sincos(x[0][3], &sinResult, &cosResult); (*y)[0][3] = sinResult; (*z)[0][3] = cosResult; sincos(x[1][3], &sinResult, &cosResult); (*y)[1][3] = sinResult; (*z)[1][3] = cosResult; sincos(x[2][3], &sinResult, &cosResult); (*y)[2][3] = sinResult; (*z)[2][3] = cosResult; sincos(x[3][3], &sinResult, &cosResult); (*y)[3][3] = sinResult; (*z)[3][3] = cosResult; } void sincos(float x, thread float* y, threadgroup float* z) { *y = sin(x); *z = cos(x); } void sincos(float2 x, thread float2* y, threadgroup float2* z) { float sinResult; float cosResult; sincos(x[0], &sinResult, &cosResult); (*y)[0] = sinResult; (*z)[0] = cosResult; sincos(x[1], &sinResult, &cosResult); (*y)[1] = sinResult; (*z)[1] = cosResult; } void sincos(float3 x, thread float3* y, threadgroup float3* z) { float sinResult; float cosResult; sincos(x[0], &sinResult, &cosResult); (*y)[0] = sinResult; (*z)[0] = cosResult; sincos(x[1], &sinResult, &cosResult); (*y)[1] = sinResult; (*z)[1] = cosResult; sincos(x[2], &sinResult, &cosResult); (*y)[2] = sinResult; (*z)[2] = cosResult; } void sincos(float4 x, thread float4* y, threadgroup float4* z) { float sinResult; float cosResult; sincos(x[0], &sinResult, &cosResult); (*y)[0] = sinResult; (*z)[0] = cosResult; sincos(x[1], &sinResult, &cosResult); (*y)[1] = sinResult; (*z)[1] = cosResult; sincos(x[2], &sinResult, &cosResult); (*y)[2] = sinResult; (*z)[2] = cosResult; sincos(x[3], &sinResult, &cosResult); (*y)[3] = sinResult; (*z)[3] = cosResult; } void sincos(float2x2 x, thread float2x2* y, threadgroup float2x2* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; } void sincos(float3x2 x, thread float3x2* y, threadgroup float3x2* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; } void sincos(float4x2 x, thread float4x2* y, threadgroup float4x2* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[3][0], &sinResult, &cosResult); (*y)[3][0] = sinResult; (*z)[3][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[3][1], &sinResult, &cosResult); (*y)[3][1] = sinResult; (*z)[3][1] = cosResult; } void sincos(float2x3 x, thread float2x3* y, threadgroup float2x3* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; } void sincos(float3x3 x, thread float3x3* y, threadgroup float3x3* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; } void sincos(float4x3 x, thread float4x3* y, threadgroup float4x3* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[3][0], &sinResult, &cosResult); (*y)[3][0] = sinResult; (*z)[3][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[3][1], &sinResult, &cosResult); (*y)[3][1] = sinResult; (*z)[3][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; sincos(x[3][2], &sinResult, &cosResult); (*y)[3][2] = sinResult; (*z)[3][2] = cosResult; } void sincos(float2x4 x, thread float2x4* y, threadgroup float2x4* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[0][3], &sinResult, &cosResult); (*y)[0][3] = sinResult; (*z)[0][3] = cosResult; sincos(x[1][3], &sinResult, &cosResult); (*y)[1][3] = sinResult; (*z)[1][3] = cosResult; } void sincos(float3x4 x, thread float3x4* y, threadgroup float3x4* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; sincos(x[0][3], &sinResult, &cosResult); (*y)[0][3] = sinResult; (*z)[0][3] = cosResult; sincos(x[1][3], &sinResult, &cosResult); (*y)[1][3] = sinResult; (*z)[1][3] = cosResult; sincos(x[2][3], &sinResult, &cosResult); (*y)[2][3] = sinResult; (*z)[2][3] = cosResult; } void sincos(float4x4 x, thread float4x4* y, threadgroup float4x4* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[3][0], &sinResult, &cosResult); (*y)[3][0] = sinResult; (*z)[3][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[3][1], &sinResult, &cosResult); (*y)[3][1] = sinResult; (*z)[3][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; sincos(x[3][2], &sinResult, &cosResult); (*y)[3][2] = sinResult; (*z)[3][2] = cosResult; sincos(x[0][3], &sinResult, &cosResult); (*y)[0][3] = sinResult; (*z)[0][3] = cosResult; sincos(x[1][3], &sinResult, &cosResult); (*y)[1][3] = sinResult; (*z)[1][3] = cosResult; sincos(x[2][3], &sinResult, &cosResult); (*y)[2][3] = sinResult; (*z)[2][3] = cosResult; sincos(x[3][3], &sinResult, &cosResult); (*y)[3][3] = sinResult; (*z)[3][3] = cosResult; } void sincos(float x, device float* y, thread float* z) { *y = sin(x); *z = cos(x); } void sincos(float2 x, device float2* y, thread float2* z) { float sinResult; float cosResult; sincos(x[0], &sinResult, &cosResult); (*y)[0] = sinResult; (*z)[0] = cosResult; sincos(x[1], &sinResult, &cosResult); (*y)[1] = sinResult; (*z)[1] = cosResult; } void sincos(float3 x, device float3* y, thread float3* z) { float sinResult; float cosResult; sincos(x[0], &sinResult, &cosResult); (*y)[0] = sinResult; (*z)[0] = cosResult; sincos(x[1], &sinResult, &cosResult); (*y)[1] = sinResult; (*z)[1] = cosResult; sincos(x[2], &sinResult, &cosResult); (*y)[2] = sinResult; (*z)[2] = cosResult; } void sincos(float4 x, device float4* y, thread float4* z) { float sinResult; float cosResult; sincos(x[0], &sinResult, &cosResult); (*y)[0] = sinResult; (*z)[0] = cosResult; sincos(x[1], &sinResult, &cosResult); (*y)[1] = sinResult; (*z)[1] = cosResult; sincos(x[2], &sinResult, &cosResult); (*y)[2] = sinResult; (*z)[2] = cosResult; sincos(x[3], &sinResult, &cosResult); (*y)[3] = sinResult; (*z)[3] = cosResult; } void sincos(float2x2 x, device float2x2* y, thread float2x2* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; } void sincos(float3x2 x, device float3x2* y, thread float3x2* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; } void sincos(float4x2 x, device float4x2* y, thread float4x2* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[3][0], &sinResult, &cosResult); (*y)[3][0] = sinResult; (*z)[3][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[3][1], &sinResult, &cosResult); (*y)[3][1] = sinResult; (*z)[3][1] = cosResult; } void sincos(float2x3 x, device float2x3* y, thread float2x3* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; } void sincos(float3x3 x, device float3x3* y, thread float3x3* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; } void sincos(float4x3 x, device float4x3* y, thread float4x3* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[3][0], &sinResult, &cosResult); (*y)[3][0] = sinResult; (*z)[3][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[3][1], &sinResult, &cosResult); (*y)[3][1] = sinResult; (*z)[3][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; sincos(x[3][2], &sinResult, &cosResult); (*y)[3][2] = sinResult; (*z)[3][2] = cosResult; } void sincos(float2x4 x, device float2x4* y, thread float2x4* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[0][3], &sinResult, &cosResult); (*y)[0][3] = sinResult; (*z)[0][3] = cosResult; sincos(x[1][3], &sinResult, &cosResult); (*y)[1][3] = sinResult; (*z)[1][3] = cosResult; } void sincos(float3x4 x, device float3x4* y, thread float3x4* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; sincos(x[0][3], &sinResult, &cosResult); (*y)[0][3] = sinResult; (*z)[0][3] = cosResult; sincos(x[1][3], &sinResult, &cosResult); (*y)[1][3] = sinResult; (*z)[1][3] = cosResult; sincos(x[2][3], &sinResult, &cosResult); (*y)[2][3] = sinResult; (*z)[2][3] = cosResult; } void sincos(float4x4 x, device float4x4* y, thread float4x4* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[3][0], &sinResult, &cosResult); (*y)[3][0] = sinResult; (*z)[3][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[3][1], &sinResult, &cosResult); (*y)[3][1] = sinResult; (*z)[3][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; sincos(x[3][2], &sinResult, &cosResult); (*y)[3][2] = sinResult; (*z)[3][2] = cosResult; sincos(x[0][3], &sinResult, &cosResult); (*y)[0][3] = sinResult; (*z)[0][3] = cosResult; sincos(x[1][3], &sinResult, &cosResult); (*y)[1][3] = sinResult; (*z)[1][3] = cosResult; sincos(x[2][3], &sinResult, &cosResult); (*y)[2][3] = sinResult; (*z)[2][3] = cosResult; sincos(x[3][3], &sinResult, &cosResult); (*y)[3][3] = sinResult; (*z)[3][3] = cosResult; } void sincos(float x, device float* y, device float* z) { *y = sin(x); *z = cos(x); } void sincos(float2 x, device float2* y, device float2* z) { float sinResult; float cosResult; sincos(x[0], &sinResult, &cosResult); (*y)[0] = sinResult; (*z)[0] = cosResult; sincos(x[1], &sinResult, &cosResult); (*y)[1] = sinResult; (*z)[1] = cosResult; } void sincos(float3 x, device float3* y, device float3* z) { float sinResult; float cosResult; sincos(x[0], &sinResult, &cosResult); (*y)[0] = sinResult; (*z)[0] = cosResult; sincos(x[1], &sinResult, &cosResult); (*y)[1] = sinResult; (*z)[1] = cosResult; sincos(x[2], &sinResult, &cosResult); (*y)[2] = sinResult; (*z)[2] = cosResult; } void sincos(float4 x, device float4* y, device float4* z) { float sinResult; float cosResult; sincos(x[0], &sinResult, &cosResult); (*y)[0] = sinResult; (*z)[0] = cosResult; sincos(x[1], &sinResult, &cosResult); (*y)[1] = sinResult; (*z)[1] = cosResult; sincos(x[2], &sinResult, &cosResult); (*y)[2] = sinResult; (*z)[2] = cosResult; sincos(x[3], &sinResult, &cosResult); (*y)[3] = sinResult; (*z)[3] = cosResult; } void sincos(float2x2 x, device float2x2* y, device float2x2* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; } void sincos(float3x2 x, device float3x2* y, device float3x2* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; } void sincos(float4x2 x, device float4x2* y, device float4x2* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[3][0], &sinResult, &cosResult); (*y)[3][0] = sinResult; (*z)[3][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[3][1], &sinResult, &cosResult); (*y)[3][1] = sinResult; (*z)[3][1] = cosResult; } void sincos(float2x3 x, device float2x3* y, device float2x3* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; } void sincos(float3x3 x, device float3x3* y, device float3x3* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; } void sincos(float4x3 x, device float4x3* y, device float4x3* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[3][0], &sinResult, &cosResult); (*y)[3][0] = sinResult; (*z)[3][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[3][1], &sinResult, &cosResult); (*y)[3][1] = sinResult; (*z)[3][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; sincos(x[3][2], &sinResult, &cosResult); (*y)[3][2] = sinResult; (*z)[3][2] = cosResult; } void sincos(float2x4 x, device float2x4* y, device float2x4* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[0][3], &sinResult, &cosResult); (*y)[0][3] = sinResult; (*z)[0][3] = cosResult; sincos(x[1][3], &sinResult, &cosResult); (*y)[1][3] = sinResult; (*z)[1][3] = cosResult; } void sincos(float3x4 x, device float3x4* y, device float3x4* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; sincos(x[0][3], &sinResult, &cosResult); (*y)[0][3] = sinResult; (*z)[0][3] = cosResult; sincos(x[1][3], &sinResult, &cosResult); (*y)[1][3] = sinResult; (*z)[1][3] = cosResult; sincos(x[2][3], &sinResult, &cosResult); (*y)[2][3] = sinResult; (*z)[2][3] = cosResult; } void sincos(float4x4 x, device float4x4* y, device float4x4* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[3][0], &sinResult, &cosResult); (*y)[3][0] = sinResult; (*z)[3][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[3][1], &sinResult, &cosResult); (*y)[3][1] = sinResult; (*z)[3][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; sincos(x[3][2], &sinResult, &cosResult); (*y)[3][2] = sinResult; (*z)[3][2] = cosResult; sincos(x[0][3], &sinResult, &cosResult); (*y)[0][3] = sinResult; (*z)[0][3] = cosResult; sincos(x[1][3], &sinResult, &cosResult); (*y)[1][3] = sinResult; (*z)[1][3] = cosResult; sincos(x[2][3], &sinResult, &cosResult); (*y)[2][3] = sinResult; (*z)[2][3] = cosResult; sincos(x[3][3], &sinResult, &cosResult); (*y)[3][3] = sinResult; (*z)[3][3] = cosResult; } void sincos(float x, device float* y, threadgroup float* z) { *y = sin(x); *z = cos(x); } void sincos(float2 x, device float2* y, threadgroup float2* z) { float sinResult; float cosResult; sincos(x[0], &sinResult, &cosResult); (*y)[0] = sinResult; (*z)[0] = cosResult; sincos(x[1], &sinResult, &cosResult); (*y)[1] = sinResult; (*z)[1] = cosResult; } void sincos(float3 x, device float3* y, threadgroup float3* z) { float sinResult; float cosResult; sincos(x[0], &sinResult, &cosResult); (*y)[0] = sinResult; (*z)[0] = cosResult; sincos(x[1], &sinResult, &cosResult); (*y)[1] = sinResult; (*z)[1] = cosResult; sincos(x[2], &sinResult, &cosResult); (*y)[2] = sinResult; (*z)[2] = cosResult; } void sincos(float4 x, device float4* y, threadgroup float4* z) { float sinResult; float cosResult; sincos(x[0], &sinResult, &cosResult); (*y)[0] = sinResult; (*z)[0] = cosResult; sincos(x[1], &sinResult, &cosResult); (*y)[1] = sinResult; (*z)[1] = cosResult; sincos(x[2], &sinResult, &cosResult); (*y)[2] = sinResult; (*z)[2] = cosResult; sincos(x[3], &sinResult, &cosResult); (*y)[3] = sinResult; (*z)[3] = cosResult; } void sincos(float2x2 x, device float2x2* y, threadgroup float2x2* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; } void sincos(float3x2 x, device float3x2* y, threadgroup float3x2* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; } void sincos(float4x2 x, device float4x2* y, threadgroup float4x2* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[3][0], &sinResult, &cosResult); (*y)[3][0] = sinResult; (*z)[3][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[3][1], &sinResult, &cosResult); (*y)[3][1] = sinResult; (*z)[3][1] = cosResult; } void sincos(float2x3 x, device float2x3* y, threadgroup float2x3* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; } void sincos(float3x3 x, device float3x3* y, threadgroup float3x3* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; } void sincos(float4x3 x, device float4x3* y, threadgroup float4x3* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[3][0], &sinResult, &cosResult); (*y)[3][0] = sinResult; (*z)[3][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[3][1], &sinResult, &cosResult); (*y)[3][1] = sinResult; (*z)[3][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; sincos(x[3][2], &sinResult, &cosResult); (*y)[3][2] = sinResult; (*z)[3][2] = cosResult; } void sincos(float2x4 x, device float2x4* y, threadgroup float2x4* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[0][3], &sinResult, &cosResult); (*y)[0][3] = sinResult; (*z)[0][3] = cosResult; sincos(x[1][3], &sinResult, &cosResult); (*y)[1][3] = sinResult; (*z)[1][3] = cosResult; } void sincos(float3x4 x, device float3x4* y, threadgroup float3x4* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; sincos(x[0][3], &sinResult, &cosResult); (*y)[0][3] = sinResult; (*z)[0][3] = cosResult; sincos(x[1][3], &sinResult, &cosResult); (*y)[1][3] = sinResult; (*z)[1][3] = cosResult; sincos(x[2][3], &sinResult, &cosResult); (*y)[2][3] = sinResult; (*z)[2][3] = cosResult; } void sincos(float4x4 x, device float4x4* y, threadgroup float4x4* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[3][0], &sinResult, &cosResult); (*y)[3][0] = sinResult; (*z)[3][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[3][1], &sinResult, &cosResult); (*y)[3][1] = sinResult; (*z)[3][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; sincos(x[3][2], &sinResult, &cosResult); (*y)[3][2] = sinResult; (*z)[3][2] = cosResult; sincos(x[0][3], &sinResult, &cosResult); (*y)[0][3] = sinResult; (*z)[0][3] = cosResult; sincos(x[1][3], &sinResult, &cosResult); (*y)[1][3] = sinResult; (*z)[1][3] = cosResult; sincos(x[2][3], &sinResult, &cosResult); (*y)[2][3] = sinResult; (*z)[2][3] = cosResult; sincos(x[3][3], &sinResult, &cosResult); (*y)[3][3] = sinResult; (*z)[3][3] = cosResult; } void sincos(float x, threadgroup float* y, thread float* z) { *y = sin(x); *z = cos(x); } void sincos(float2 x, threadgroup float2* y, thread float2* z) { float sinResult; float cosResult; sincos(x[0], &sinResult, &cosResult); (*y)[0] = sinResult; (*z)[0] = cosResult; sincos(x[1], &sinResult, &cosResult); (*y)[1] = sinResult; (*z)[1] = cosResult; } void sincos(float3 x, threadgroup float3* y, thread float3* z) { float sinResult; float cosResult; sincos(x[0], &sinResult, &cosResult); (*y)[0] = sinResult; (*z)[0] = cosResult; sincos(x[1], &sinResult, &cosResult); (*y)[1] = sinResult; (*z)[1] = cosResult; sincos(x[2], &sinResult, &cosResult); (*y)[2] = sinResult; (*z)[2] = cosResult; } void sincos(float4 x, threadgroup float4* y, thread float4* z) { float sinResult; float cosResult; sincos(x[0], &sinResult, &cosResult); (*y)[0] = sinResult; (*z)[0] = cosResult; sincos(x[1], &sinResult, &cosResult); (*y)[1] = sinResult; (*z)[1] = cosResult; sincos(x[2], &sinResult, &cosResult); (*y)[2] = sinResult; (*z)[2] = cosResult; sincos(x[3], &sinResult, &cosResult); (*y)[3] = sinResult; (*z)[3] = cosResult; } void sincos(float2x2 x, threadgroup float2x2* y, thread float2x2* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; } void sincos(float3x2 x, threadgroup float3x2* y, thread float3x2* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; } void sincos(float4x2 x, threadgroup float4x2* y, thread float4x2* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[3][0], &sinResult, &cosResult); (*y)[3][0] = sinResult; (*z)[3][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[3][1], &sinResult, &cosResult); (*y)[3][1] = sinResult; (*z)[3][1] = cosResult; } void sincos(float2x3 x, threadgroup float2x3* y, thread float2x3* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; } void sincos(float3x3 x, threadgroup float3x3* y, thread float3x3* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; } void sincos(float4x3 x, threadgroup float4x3* y, thread float4x3* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[3][0], &sinResult, &cosResult); (*y)[3][0] = sinResult; (*z)[3][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[3][1], &sinResult, &cosResult); (*y)[3][1] = sinResult; (*z)[3][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; sincos(x[3][2], &sinResult, &cosResult); (*y)[3][2] = sinResult; (*z)[3][2] = cosResult; } void sincos(float2x4 x, threadgroup float2x4* y, thread float2x4* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[0][3], &sinResult, &cosResult); (*y)[0][3] = sinResult; (*z)[0][3] = cosResult; sincos(x[1][3], &sinResult, &cosResult); (*y)[1][3] = sinResult; (*z)[1][3] = cosResult; } void sincos(float3x4 x, threadgroup float3x4* y, thread float3x4* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; sincos(x[0][3], &sinResult, &cosResult); (*y)[0][3] = sinResult; (*z)[0][3] = cosResult; sincos(x[1][3], &sinResult, &cosResult); (*y)[1][3] = sinResult; (*z)[1][3] = cosResult; sincos(x[2][3], &sinResult, &cosResult); (*y)[2][3] = sinResult; (*z)[2][3] = cosResult; } void sincos(float4x4 x, threadgroup float4x4* y, thread float4x4* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[3][0], &sinResult, &cosResult); (*y)[3][0] = sinResult; (*z)[3][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[3][1], &sinResult, &cosResult); (*y)[3][1] = sinResult; (*z)[3][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; sincos(x[3][2], &sinResult, &cosResult); (*y)[3][2] = sinResult; (*z)[3][2] = cosResult; sincos(x[0][3], &sinResult, &cosResult); (*y)[0][3] = sinResult; (*z)[0][3] = cosResult; sincos(x[1][3], &sinResult, &cosResult); (*y)[1][3] = sinResult; (*z)[1][3] = cosResult; sincos(x[2][3], &sinResult, &cosResult); (*y)[2][3] = sinResult; (*z)[2][3] = cosResult; sincos(x[3][3], &sinResult, &cosResult); (*y)[3][3] = sinResult; (*z)[3][3] = cosResult; } void sincos(float x, threadgroup float* y, device float* z) { *y = sin(x); *z = cos(x); } void sincos(float2 x, threadgroup float2* y, device float2* z) { float sinResult; float cosResult; sincos(x[0], &sinResult, &cosResult); (*y)[0] = sinResult; (*z)[0] = cosResult; sincos(x[1], &sinResult, &cosResult); (*y)[1] = sinResult; (*z)[1] = cosResult; } void sincos(float3 x, threadgroup float3* y, device float3* z) { float sinResult; float cosResult; sincos(x[0], &sinResult, &cosResult); (*y)[0] = sinResult; (*z)[0] = cosResult; sincos(x[1], &sinResult, &cosResult); (*y)[1] = sinResult; (*z)[1] = cosResult; sincos(x[2], &sinResult, &cosResult); (*y)[2] = sinResult; (*z)[2] = cosResult; } void sincos(float4 x, threadgroup float4* y, device float4* z) { float sinResult; float cosResult; sincos(x[0], &sinResult, &cosResult); (*y)[0] = sinResult; (*z)[0] = cosResult; sincos(x[1], &sinResult, &cosResult); (*y)[1] = sinResult; (*z)[1] = cosResult; sincos(x[2], &sinResult, &cosResult); (*y)[2] = sinResult; (*z)[2] = cosResult; sincos(x[3], &sinResult, &cosResult); (*y)[3] = sinResult; (*z)[3] = cosResult; } void sincos(float2x2 x, threadgroup float2x2* y, device float2x2* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; } void sincos(float3x2 x, threadgroup float3x2* y, device float3x2* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; } void sincos(float4x2 x, threadgroup float4x2* y, device float4x2* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[3][0], &sinResult, &cosResult); (*y)[3][0] = sinResult; (*z)[3][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[3][1], &sinResult, &cosResult); (*y)[3][1] = sinResult; (*z)[3][1] = cosResult; } void sincos(float2x3 x, threadgroup float2x3* y, device float2x3* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; } void sincos(float3x3 x, threadgroup float3x3* y, device float3x3* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; } void sincos(float4x3 x, threadgroup float4x3* y, device float4x3* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[3][0], &sinResult, &cosResult); (*y)[3][0] = sinResult; (*z)[3][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[3][1], &sinResult, &cosResult); (*y)[3][1] = sinResult; (*z)[3][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; sincos(x[3][2], &sinResult, &cosResult); (*y)[3][2] = sinResult; (*z)[3][2] = cosResult; } void sincos(float2x4 x, threadgroup float2x4* y, device float2x4* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[0][3], &sinResult, &cosResult); (*y)[0][3] = sinResult; (*z)[0][3] = cosResult; sincos(x[1][3], &sinResult, &cosResult); (*y)[1][3] = sinResult; (*z)[1][3] = cosResult; } void sincos(float3x4 x, threadgroup float3x4* y, device float3x4* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; sincos(x[0][3], &sinResult, &cosResult); (*y)[0][3] = sinResult; (*z)[0][3] = cosResult; sincos(x[1][3], &sinResult, &cosResult); (*y)[1][3] = sinResult; (*z)[1][3] = cosResult; sincos(x[2][3], &sinResult, &cosResult); (*y)[2][3] = sinResult; (*z)[2][3] = cosResult; } void sincos(float4x4 x, threadgroup float4x4* y, device float4x4* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[3][0], &sinResult, &cosResult); (*y)[3][0] = sinResult; (*z)[3][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[3][1], &sinResult, &cosResult); (*y)[3][1] = sinResult; (*z)[3][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; sincos(x[3][2], &sinResult, &cosResult); (*y)[3][2] = sinResult; (*z)[3][2] = cosResult; sincos(x[0][3], &sinResult, &cosResult); (*y)[0][3] = sinResult; (*z)[0][3] = cosResult; sincos(x[1][3], &sinResult, &cosResult); (*y)[1][3] = sinResult; (*z)[1][3] = cosResult; sincos(x[2][3], &sinResult, &cosResult); (*y)[2][3] = sinResult; (*z)[2][3] = cosResult; sincos(x[3][3], &sinResult, &cosResult); (*y)[3][3] = sinResult; (*z)[3][3] = cosResult; } void sincos(float x, threadgroup float* y, threadgroup float* z) { *y = sin(x); *z = cos(x); } void sincos(float2 x, threadgroup float2* y, threadgroup float2* z) { float sinResult; float cosResult; sincos(x[0], &sinResult, &cosResult); (*y)[0] = sinResult; (*z)[0] = cosResult; sincos(x[1], &sinResult, &cosResult); (*y)[1] = sinResult; (*z)[1] = cosResult; } void sincos(float3 x, threadgroup float3* y, threadgroup float3* z) { float sinResult; float cosResult; sincos(x[0], &sinResult, &cosResult); (*y)[0] = sinResult; (*z)[0] = cosResult; sincos(x[1], &sinResult, &cosResult); (*y)[1] = sinResult; (*z)[1] = cosResult; sincos(x[2], &sinResult, &cosResult); (*y)[2] = sinResult; (*z)[2] = cosResult; } void sincos(float4 x, threadgroup float4* y, threadgroup float4* z) { float sinResult; float cosResult; sincos(x[0], &sinResult, &cosResult); (*y)[0] = sinResult; (*z)[0] = cosResult; sincos(x[1], &sinResult, &cosResult); (*y)[1] = sinResult; (*z)[1] = cosResult; sincos(x[2], &sinResult, &cosResult); (*y)[2] = sinResult; (*z)[2] = cosResult; sincos(x[3], &sinResult, &cosResult); (*y)[3] = sinResult; (*z)[3] = cosResult; } void sincos(float2x2 x, threadgroup float2x2* y, threadgroup float2x2* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; } void sincos(float3x2 x, threadgroup float3x2* y, threadgroup float3x2* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; } void sincos(float4x2 x, threadgroup float4x2* y, threadgroup float4x2* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[3][0], &sinResult, &cosResult); (*y)[3][0] = sinResult; (*z)[3][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[3][1], &sinResult, &cosResult); (*y)[3][1] = sinResult; (*z)[3][1] = cosResult; } void sincos(float2x3 x, threadgroup float2x3* y, threadgroup float2x3* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; } void sincos(float3x3 x, threadgroup float3x3* y, threadgroup float3x3* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; } void sincos(float4x3 x, threadgroup float4x3* y, threadgroup float4x3* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[3][0], &sinResult, &cosResult); (*y)[3][0] = sinResult; (*z)[3][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[3][1], &sinResult, &cosResult); (*y)[3][1] = sinResult; (*z)[3][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; sincos(x[3][2], &sinResult, &cosResult); (*y)[3][2] = sinResult; (*z)[3][2] = cosResult; } void sincos(float2x4 x, threadgroup float2x4* y, threadgroup float2x4* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[0][3], &sinResult, &cosResult); (*y)[0][3] = sinResult; (*z)[0][3] = cosResult; sincos(x[1][3], &sinResult, &cosResult); (*y)[1][3] = sinResult; (*z)[1][3] = cosResult; } void sincos(float3x4 x, threadgroup float3x4* y, threadgroup float3x4* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; sincos(x[0][3], &sinResult, &cosResult); (*y)[0][3] = sinResult; (*z)[0][3] = cosResult; sincos(x[1][3], &sinResult, &cosResult); (*y)[1][3] = sinResult; (*z)[1][3] = cosResult; sincos(x[2][3], &sinResult, &cosResult); (*y)[2][3] = sinResult; (*z)[2][3] = cosResult; } void sincos(float4x4 x, threadgroup float4x4* y, threadgroup float4x4* z) { float sinResult; float cosResult; sincos(x[0][0], &sinResult, &cosResult); (*y)[0][0] = sinResult; (*z)[0][0] = cosResult; sincos(x[1][0], &sinResult, &cosResult); (*y)[1][0] = sinResult; (*z)[1][0] = cosResult; sincos(x[2][0], &sinResult, &cosResult); (*y)[2][0] = sinResult; (*z)[2][0] = cosResult; sincos(x[3][0], &sinResult, &cosResult); (*y)[3][0] = sinResult; (*z)[3][0] = cosResult; sincos(x[0][1], &sinResult, &cosResult); (*y)[0][1] = sinResult; (*z)[0][1] = cosResult; sincos(x[1][1], &sinResult, &cosResult); (*y)[1][1] = sinResult; (*z)[1][1] = cosResult; sincos(x[2][1], &sinResult, &cosResult); (*y)[2][1] = sinResult; (*z)[2][1] = cosResult; sincos(x[3][1], &sinResult, &cosResult); (*y)[3][1] = sinResult; (*z)[3][1] = cosResult; sincos(x[0][2], &sinResult, &cosResult); (*y)[0][2] = sinResult; (*z)[0][2] = cosResult; sincos(x[1][2], &sinResult, &cosResult); (*y)[1][2] = sinResult; (*z)[1][2] = cosResult; sincos(x[2][2], &sinResult, &cosResult); (*y)[2][2] = sinResult; (*z)[2][2] = cosResult; sincos(x[3][2], &sinResult, &cosResult); (*y)[3][2] = sinResult; (*z)[3][2] = cosResult; sincos(x[0][3], &sinResult, &cosResult); (*y)[0][3] = sinResult; (*z)[0][3] = cosResult; sincos(x[1][3], &sinResult, &cosResult); (*y)[1][3] = sinResult; (*z)[1][3] = cosResult; sincos(x[2][3], &sinResult, &cosResult); (*y)[2][3] = sinResult; (*z)[2][3] = cosResult; sincos(x[3][3], &sinResult, &cosResult); (*y)[3][3] = sinResult; (*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 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[1][0] = smoothstep(x[1][0], y[1][0], z[1][0]); result[0][1] = smoothstep(x[0][1], y[0][1], z[0][1]); result[1][1] = smoothstep(x[1][1], y[1][1], z[1][1]); 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[1][0] = smoothstep(x[1][0], y[1][0], z[1][0]); result[2][0] = smoothstep(x[2][0], y[2][0], z[2][0]); result[0][1] = smoothstep(x[0][1], y[0][1], z[0][1]); result[1][1] = smoothstep(x[1][1], y[1][1], z[1][1]); result[2][1] = smoothstep(x[2][1], y[2][1], z[2][1]); 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[1][0] = smoothstep(x[1][0], y[1][0], z[1][0]); result[2][0] = smoothstep(x[2][0], y[2][0], z[2][0]); result[3][0] = smoothstep(x[3][0], y[3][0], z[3][0]); result[0][1] = smoothstep(x[0][1], y[0][1], z[0][1]); result[1][1] = smoothstep(x[1][1], y[1][1], z[1][1]); result[2][1] = smoothstep(x[2][1], y[2][1], z[2][1]); result[3][1] = smoothstep(x[3][1], y[3][1], z[3][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[1][0] = smoothstep(x[1][0], y[1][0], z[1][0]); result[0][1] = smoothstep(x[0][1], y[0][1], z[0][1]); result[1][1] = smoothstep(x[1][1], y[1][1], z[1][1]); result[0][2] = smoothstep(x[0][2], y[0][2], z[0][2]); result[1][2] = smoothstep(x[1][2], y[1][2], z[1][2]); 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[1][0] = smoothstep(x[1][0], y[1][0], z[1][0]); result[2][0] = smoothstep(x[2][0], y[2][0], z[2][0]); result[0][1] = smoothstep(x[0][1], y[0][1], z[0][1]); result[1][1] = smoothstep(x[1][1], y[1][1], z[1][1]); result[2][1] = smoothstep(x[2][1], y[2][1], z[2][1]); result[0][2] = smoothstep(x[0][2], y[0][2], z[0][2]); result[1][2] = smoothstep(x[1][2], y[1][2], z[1][2]); result[2][2] = smoothstep(x[2][2], y[2][2], z[2][2]); 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[1][0] = smoothstep(x[1][0], y[1][0], z[1][0]); result[2][0] = smoothstep(x[2][0], y[2][0], z[2][0]); result[3][0] = smoothstep(x[3][0], y[3][0], z[3][0]); result[0][1] = smoothstep(x[0][1], y[0][1], z[0][1]); result[1][1] = smoothstep(x[1][1], y[1][1], z[1][1]); result[2][1] = smoothstep(x[2][1], y[2][1], z[2][1]); result[3][1] = smoothstep(x[3][1], y[3][1], z[3][1]); result[0][2] = smoothstep(x[0][2], y[0][2], z[0][2]); result[1][2] = smoothstep(x[1][2], y[1][2], z[1][2]); result[2][2] = smoothstep(x[2][2], y[2][2], z[2][2]); result[3][2] = smoothstep(x[3][2], y[3][2], z[3][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[1][0] = smoothstep(x[1][0], y[1][0], z[1][0]); result[0][1] = smoothstep(x[0][1], y[0][1], z[0][1]); result[1][1] = smoothstep(x[1][1], y[1][1], z[1][1]); result[0][2] = smoothstep(x[0][2], y[0][2], z[0][2]); result[1][2] = smoothstep(x[1][2], y[1][2], z[1][2]); result[0][3] = smoothstep(x[0][3], y[0][3], z[0][3]); result[1][3] = smoothstep(x[1][3], y[1][3], z[1][3]); 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[1][0] = smoothstep(x[1][0], y[1][0], z[1][0]); result[2][0] = smoothstep(x[2][0], y[2][0], z[2][0]); result[0][1] = smoothstep(x[0][1], y[0][1], z[0][1]); result[1][1] = smoothstep(x[1][1], y[1][1], z[1][1]); result[2][1] = smoothstep(x[2][1], y[2][1], z[2][1]); result[0][2] = smoothstep(x[0][2], y[0][2], z[0][2]); result[1][2] = smoothstep(x[1][2], y[1][2], z[1][2]); result[2][2] = smoothstep(x[2][2], y[2][2], z[2][2]); result[0][3] = smoothstep(x[0][3], y[0][3], z[0][3]); result[1][3] = smoothstep(x[1][3], y[1][3], z[1][3]); result[2][3] = smoothstep(x[2][3], y[2][3], z[2][3]); 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[1][0] = smoothstep(x[1][0], y[1][0], z[1][0]); result[2][0] = smoothstep(x[2][0], y[2][0], z[2][0]); result[3][0] = smoothstep(x[3][0], y[3][0], z[3][0]); result[0][1] = smoothstep(x[0][1], y[0][1], z[0][1]); result[1][1] = smoothstep(x[1][1], y[1][1], z[1][1]); result[2][1] = smoothstep(x[2][1], y[2][1], z[2][1]); result[3][1] = smoothstep(x[3][1], y[3][1], z[3][1]); result[0][2] = smoothstep(x[0][2], y[0][2], z[0][2]); result[1][2] = smoothstep(x[1][2], y[1][2], z[1][2]); result[2][2] = smoothstep(x[2][2], y[2][2], z[2][2]); result[3][2] = smoothstep(x[3][2], y[3][2], z[3][2]); result[0][3] = smoothstep(x[0][3], y[0][3], z[0][3]); result[1][3] = smoothstep(x[1][3], y[1][3], z[1][3]); result[2][3] = smoothstep(x[2][3], y[2][3], z[2][3]); result[3][3] = smoothstep(x[3][3], y[3][3], z[3][3]); 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[1][0] = exp(x[1][0]); result[0][1] = exp(x[0][1]); result[1][1] = exp(x[1][1]); return result; } float3x2 exp(float3x2 x) { float3x2 result; result[0][0] = exp(x[0][0]); result[1][0] = exp(x[1][0]); result[2][0] = exp(x[2][0]); result[0][1] = exp(x[0][1]); result[1][1] = exp(x[1][1]); result[2][1] = exp(x[2][1]); return result; } float4x2 exp(float4x2 x) { float4x2 result; result[0][0] = exp(x[0][0]); result[1][0] = exp(x[1][0]); result[2][0] = exp(x[2][0]); result[3][0] = exp(x[3][0]); result[0][1] = exp(x[0][1]); result[1][1] = exp(x[1][1]); result[2][1] = exp(x[2][1]); result[3][1] = exp(x[3][1]); return result; } float2x3 exp(float2x3 x) { float2x3 result; result[0][0] = exp(x[0][0]); result[1][0] = exp(x[1][0]); result[0][1] = exp(x[0][1]); result[1][1] = exp(x[1][1]); result[0][2] = exp(x[0][2]); result[1][2] = exp(x[1][2]); return result; } float3x3 exp(float3x3 x) { float3x3 result; result[0][0] = exp(x[0][0]); result[1][0] = exp(x[1][0]); result[2][0] = exp(x[2][0]); result[0][1] = exp(x[0][1]); result[1][1] = exp(x[1][1]); result[2][1] = exp(x[2][1]); result[0][2] = exp(x[0][2]); result[1][2] = exp(x[1][2]); result[2][2] = exp(x[2][2]); return result; } float4x3 exp(float4x3 x) { float4x3 result; result[0][0] = exp(x[0][0]); result[1][0] = exp(x[1][0]); result[2][0] = exp(x[2][0]); result[3][0] = exp(x[3][0]); result[0][1] = exp(x[0][1]); result[1][1] = exp(x[1][1]); result[2][1] = exp(x[2][1]); result[3][1] = exp(x[3][1]); result[0][2] = exp(x[0][2]); result[1][2] = exp(x[1][2]); result[2][2] = exp(x[2][2]); result[3][2] = exp(x[3][2]); return result; } float2x4 exp(float2x4 x) { float2x4 result; result[0][0] = exp(x[0][0]); result[1][0] = exp(x[1][0]); result[0][1] = exp(x[0][1]); result[1][1] = exp(x[1][1]); result[0][2] = exp(x[0][2]); result[1][2] = exp(x[1][2]); result[0][3] = exp(x[0][3]); result[1][3] = exp(x[1][3]); return result; } float3x4 exp(float3x4 x) { float3x4 result; result[0][0] = exp(x[0][0]); result[1][0] = exp(x[1][0]); result[2][0] = exp(x[2][0]); result[0][1] = exp(x[0][1]); result[1][1] = exp(x[1][1]); result[2][1] = exp(x[2][1]); result[0][2] = exp(x[0][2]); result[1][2] = exp(x[1][2]); result[2][2] = exp(x[2][2]); result[0][3] = exp(x[0][3]); result[1][3] = exp(x[1][3]); result[2][3] = exp(x[2][3]); return result; } float4x4 exp(float4x4 x) { float4x4 result; result[0][0] = exp(x[0][0]); result[1][0] = exp(x[1][0]); result[2][0] = exp(x[2][0]); result[3][0] = exp(x[3][0]); result[0][1] = exp(x[0][1]); result[1][1] = exp(x[1][1]); result[2][1] = exp(x[2][1]); result[3][1] = exp(x[3][1]); result[0][2] = exp(x[0][2]); result[1][2] = exp(x[1][2]); result[2][2] = exp(x[2][2]); result[3][2] = exp(x[3][2]); result[0][3] = exp(x[0][3]); result[1][3] = exp(x[1][3]); result[2][3] = exp(x[2][3]); result[3][3] = exp(x[3][3]); 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[1][0] != 0); result = result && (x[0][1] != 0); result = result && (x[1][1] != 0); return result; } bool all(float3x2 x) { bool result = true; result = result && (x[0][0] != 0); result = result && (x[1][0] != 0); result = result && (x[2][0] != 0); result = result && (x[0][1] != 0); result = result && (x[1][1] != 0); result = result && (x[2][1] != 0); return result; } bool all(float4x2 x) { bool result = true; result = result && (x[0][0] != 0); result = result && (x[1][0] != 0); result = result && (x[2][0] != 0); result = result && (x[3][0] != 0); result = result && (x[0][1] != 0); result = result && (x[1][1] != 0); result = result && (x[2][1] != 0); result = result && (x[3][1] != 0); return result; } bool all(float2x3 x) { bool result = true; result = result && (x[0][0] != 0); result = result && (x[1][0] != 0); result = result && (x[0][1] != 0); result = result && (x[1][1] != 0); result = result && (x[0][2] != 0); result = result && (x[1][2] != 0); return result; } bool all(float3x3 x) { bool result = true; result = result && (x[0][0] != 0); result = result && (x[1][0] != 0); result = result && (x[2][0] != 0); result = result && (x[0][1] != 0); result = result && (x[1][1] != 0); result = result && (x[2][1] != 0); result = result && (x[0][2] != 0); result = result && (x[1][2] != 0); result = result && (x[2][2] != 0); return result; } bool all(float4x3 x) { bool result = true; result = result && (x[0][0] != 0); result = result && (x[1][0] != 0); result = result && (x[2][0] != 0); result = result && (x[3][0] != 0); result = result && (x[0][1] != 0); result = result && (x[1][1] != 0); result = result && (x[2][1] != 0); result = result && (x[3][1] != 0); result = result && (x[0][2] != 0); result = result && (x[1][2] != 0); result = result && (x[2][2] != 0); result = result && (x[3][2] != 0); return result; } bool all(float2x4 x) { bool result = true; result = result && (x[0][0] != 0); result = result && (x[1][0] != 0); result = result && (x[0][1] != 0); result = result && (x[1][1] != 0); result = result && (x[0][2] != 0); result = result && (x[1][2] != 0); result = result && (x[0][3] != 0); result = result && (x[1][3] != 0); return result; } bool all(float3x4 x) { bool result = true; result = result && (x[0][0] != 0); result = result && (x[1][0] != 0); result = result && (x[2][0] != 0); result = result && (x[0][1] != 0); result = result && (x[1][1] != 0); result = result && (x[2][1] != 0); result = result && (x[0][2] != 0); result = result && (x[1][2] != 0); result = result && (x[2][2] != 0); result = result && (x[0][3] != 0); result = result && (x[1][3] != 0); result = result && (x[2][3] != 0); return result; } bool all(float4x4 x) { bool result = true; result = result && (x[0][0] != 0); result = result && (x[1][0] != 0); result = result && (x[2][0] != 0); result = result && (x[3][0] != 0); result = result && (x[0][1] != 0); result = result && (x[1][1] != 0); result = result && (x[2][1] != 0); result = result && (x[3][1] != 0); result = result && (x[0][2] != 0); result = result && (x[1][2] != 0); result = result && (x[2][2] != 0); result = result && (x[3][2] != 0); result = result && (x[0][3] != 0); result = result && (x[1][3] != 0); result = result && (x[2][3] != 0); result = result && (x[3][3] != 0); return result; } bool all(bool2x2 x) { bool result = true; result = result && x[0][0]; result = result && x[1][0]; result = result && x[0][1]; result = result && x[1][1]; return result; } bool all(bool3x2 x) { bool result = true; result = result && x[0][0]; result = result && x[1][0]; result = result && x[2][0]; result = result && x[0][1]; result = result && x[1][1]; result = result && x[2][1]; return result; } bool all(bool4x2 x) { bool result = true; result = result && x[0][0]; result = result && x[1][0]; result = result && x[2][0]; result = result && x[3][0]; result = result && x[0][1]; result = result && x[1][1]; result = result && x[2][1]; result = result && x[3][1]; return result; } bool all(bool2x3 x) { bool result = true; result = result && x[0][0]; result = result && x[1][0]; result = result && x[0][1]; result = result && x[1][1]; result = result && x[0][2]; result = result && x[1][2]; return result; } bool all(bool3x3 x) { bool result = true; result = result && x[0][0]; result = result && x[1][0]; result = result && x[2][0]; result = result && x[0][1]; result = result && x[1][1]; result = result && x[2][1]; result = result && x[0][2]; result = result && x[1][2]; result = result && x[2][2]; return result; } bool all(bool4x3 x) { bool result = true; result = result && x[0][0]; result = result && x[1][0]; result = result && x[2][0]; result = result && x[3][0]; result = result && x[0][1]; result = result && x[1][1]; result = result && x[2][1]; result = result && x[3][1]; result = result && x[0][2]; result = result && x[1][2]; result = result && x[2][2]; result = result && x[3][2]; return result; } bool all(bool2x4 x) { bool result = true; result = result && x[0][0]; result = result && x[1][0]; result = result && x[0][1]; result = result && x[1][1]; result = result && x[0][2]; result = result && x[1][2]; result = result && x[0][3]; result = result && x[1][3]; return result; } bool all(bool3x4 x) { bool result = true; result = result && x[0][0]; result = result && x[1][0]; result = result && x[2][0]; result = result && x[0][1]; result = result && x[1][1]; result = result && x[2][1]; result = result && x[0][2]; result = result && x[1][2]; result = result && x[2][2]; result = result && x[0][3]; result = result && x[1][3]; result = result && x[2][3]; return result; } bool all(bool4x4 x) { bool result = true; result = result && x[0][0]; result = result && x[1][0]; result = result && x[2][0]; result = result && x[3][0]; result = result && x[0][1]; result = result && x[1][1]; result = result && x[2][1]; result = result && x[3][1]; result = result && x[0][2]; result = result && x[1][2]; result = result && x[2][2]; result = result && x[3][2]; result = result && x[0][3]; result = result && x[1][3]; result = result && x[2][3]; result = result && x[3][3]; return result; } /* 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<= */ 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 bool3x2 operator<=(float3x2, float3x2); native bool4x2 operator<=(float4x2, float4x2); native bool2x3 operator<=(float2x3, float2x3); native bool3x3 operator<=(float3x3, float3x3); native bool4x3 operator<=(float4x3, float4x3); native bool2x4 operator<=(float2x4, float2x4); native bool3x4 operator<=(float3x4, float3x4); 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[1][0] = ddx_fine(x[1][0]); result[0][1] = ddx_fine(x[0][1]); result[1][1] = ddx_fine(x[1][1]); return result; } float3x2 ddx_fine(float3x2 x) { float3x2 result; result[0][0] = ddx_fine(x[0][0]); result[1][0] = ddx_fine(x[1][0]); result[2][0] = ddx_fine(x[2][0]); result[0][1] = ddx_fine(x[0][1]); result[1][1] = ddx_fine(x[1][1]); result[2][1] = ddx_fine(x[2][1]); return result; } float4x2 ddx_fine(float4x2 x) { float4x2 result; result[0][0] = ddx_fine(x[0][0]); result[1][0] = ddx_fine(x[1][0]); result[2][0] = ddx_fine(x[2][0]); result[3][0] = ddx_fine(x[3][0]); result[0][1] = ddx_fine(x[0][1]); result[1][1] = ddx_fine(x[1][1]); result[2][1] = ddx_fine(x[2][1]); result[3][1] = ddx_fine(x[3][1]); return result; } float2x3 ddx_fine(float2x3 x) { float2x3 result; result[0][0] = ddx_fine(x[0][0]); result[1][0] = ddx_fine(x[1][0]); result[0][1] = ddx_fine(x[0][1]); result[1][1] = ddx_fine(x[1][1]); result[0][2] = ddx_fine(x[0][2]); result[1][2] = ddx_fine(x[1][2]); return result; } float3x3 ddx_fine(float3x3 x) { float3x3 result; result[0][0] = ddx_fine(x[0][0]); result[1][0] = ddx_fine(x[1][0]); result[2][0] = ddx_fine(x[2][0]); result[0][1] = ddx_fine(x[0][1]); result[1][1] = ddx_fine(x[1][1]); result[2][1] = ddx_fine(x[2][1]); result[0][2] = ddx_fine(x[0][2]); result[1][2] = ddx_fine(x[1][2]); result[2][2] = ddx_fine(x[2][2]); return result; } float4x3 ddx_fine(float4x3 x) { float4x3 result; result[0][0] = ddx_fine(x[0][0]); result[1][0] = ddx_fine(x[1][0]); result[2][0] = ddx_fine(x[2][0]); result[3][0] = ddx_fine(x[3][0]); result[0][1] = ddx_fine(x[0][1]); result[1][1] = ddx_fine(x[1][1]); result[2][1] = ddx_fine(x[2][1]); result[3][1] = ddx_fine(x[3][1]); result[0][2] = ddx_fine(x[0][2]); result[1][2] = ddx_fine(x[1][2]); result[2][2] = ddx_fine(x[2][2]); result[3][2] = ddx_fine(x[3][2]); return result; } float2x4 ddx_fine(float2x4 x) { float2x4 result; result[0][0] = ddx_fine(x[0][0]); result[1][0] = ddx_fine(x[1][0]); result[0][1] = ddx_fine(x[0][1]); result[1][1] = ddx_fine(x[1][1]); result[0][2] = ddx_fine(x[0][2]); result[1][2] = ddx_fine(x[1][2]); result[0][3] = ddx_fine(x[0][3]); result[1][3] = ddx_fine(x[1][3]); return result; } float3x4 ddx_fine(float3x4 x) { float3x4 result; result[0][0] = ddx_fine(x[0][0]); result[1][0] = ddx_fine(x[1][0]); result[2][0] = ddx_fine(x[2][0]); result[0][1] = ddx_fine(x[0][1]); result[1][1] = ddx_fine(x[1][1]); result[2][1] = ddx_fine(x[2][1]); result[0][2] = ddx_fine(x[0][2]); result[1][2] = ddx_fine(x[1][2]); result[2][2] = ddx_fine(x[2][2]); result[0][3] = ddx_fine(x[0][3]); result[1][3] = ddx_fine(x[1][3]); result[2][3] = ddx_fine(x[2][3]); return result; } float4x4 ddx_fine(float4x4 x) { float4x4 result; result[0][0] = ddx_fine(x[0][0]); result[1][0] = ddx_fine(x[1][0]); result[2][0] = ddx_fine(x[2][0]); result[3][0] = ddx_fine(x[3][0]); result[0][1] = ddx_fine(x[0][1]); result[1][1] = ddx_fine(x[1][1]); result[2][1] = ddx_fine(x[2][1]); result[3][1] = ddx_fine(x[3][1]); result[0][2] = ddx_fine(x[0][2]); result[1][2] = ddx_fine(x[1][2]); result[2][2] = ddx_fine(x[2][2]); result[3][2] = ddx_fine(x[3][2]); result[0][3] = ddx_fine(x[0][3]); result[1][3] = ddx_fine(x[1][3]); result[2][3] = ddx_fine(x[2][3]); result[3][3] = ddx_fine(x[3][3]); 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); native operator int(bool); native operator bool(uint); native operator bool(int); native operator bool(float); native operator bool2(bool, bool); native operator bool3(bool, bool, bool); native operator bool3(bool2, bool); native operator bool3(bool, bool2); native operator bool4(bool, bool, bool, bool); native operator bool4(bool2, bool, bool); native operator bool4(bool, bool2, bool); native operator bool4(bool, bool, bool2); native operator bool4(bool2, bool2); native operator bool4(bool3, bool); native operator bool4(bool, bool3); native operator uint2(uint, uint); native operator uint3(uint, uint, uint); native operator uint3(uint2, uint); native operator uint3(uint, uint2); native operator uint4(uint, uint, uint, uint); native operator uint4(uint2, uint, uint); native operator uint4(uint, uint2, uint); native operator uint4(uint, uint, uint2); native operator uint4(uint2, uint2); native operator uint4(uint3, uint); native operator uint4(uint, uint3); native operator int2(int, int); native operator int3(int, int, int); native operator int3(int2, int); native operator int3(int, int2); native operator int4(int, int, int, int); native operator int4(int2, int, int); native operator int4(int, int2, int); native operator int4(int, int, int2); native operator int4(int2, int2); native operator int4(int3, int); native operator int4(int, int3); native operator float2(float, float); native operator float3(float, float, float); native operator float3(float2, float); native operator float3(float, float2); native operator float4(float, float, float, float); native operator float4(float2, float, float); native operator float4(float, float2, float); native operator float4(float, float, float2); native operator float4(float2, float2); native operator float4(float3, float); native operator float4(float, float3); native operator float2x2(float2, float2); native operator float2x3(float3, float3); native operator float2x4(float4, float4); native operator float3x2(float2, float2, float2); native operator float3x3(float3, float3, float3); native operator float3x4(float4, float4, float4); native operator float4x2(float2, float2, float2, float2); native operator float4x3(float3, float3, float3, float3); native operator float4x4(float4, float4, float4, float4); native operator float2x2(float, float, float, float); native operator float2x3(float, float, float, float, float, float); native operator float2x4(float, float, float, float, float, float, float, float); native operator float3x2(float, float, float, float, float, float); native operator float3x3(float, float, float, float, float, float, float, float, float); native operator float3x4(float, float, float, float, float, float, float, float, float, float, float, float); native operator float4x2(float, float, float, float, float, float, float, float); native operator float4x3(float, float, float, float, float, float, float, float, float, float, float, float); native operator float4x4(float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float); native operator bool2x2(bool2, bool2); native operator bool2x3(bool3, bool3); native operator bool2x4(bool4, bool4); native operator bool3x2(bool2, bool2, bool2); native operator bool3x3(bool3, bool3, bool3); native operator bool3x4(bool4, bool4, bool4); native operator bool4x2(bool2, bool2, bool2, bool2); native operator bool4x3(bool3, bool3, bool3, bool3); native operator bool4x4(bool4, bool4, bool4, bool4); native operator bool2x2(bool, bool, bool, bool); native operator bool2x3(bool, bool, bool, bool, bool, bool); native operator bool2x4(bool, bool, bool, bool, bool, bool, bool, bool); native operator bool3x2(bool, bool, bool, bool, bool, bool); native operator bool3x3(bool, bool, bool, bool, bool, bool, bool, bool, bool); native operator bool3x4(bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool); native operator bool4x2(bool, bool, bool, bool, bool, bool, bool, bool); native operator bool4x3(bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool); native operator bool4x4(bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool); /* 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 count_bits */ /* 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[1][0] = rsqrt(x[1][0]); result[0][1] = rsqrt(x[0][1]); result[1][1] = rsqrt(x[1][1]); return result; } float3x2 rsqrt(float3x2 x) { float3x2 result; result[0][0] = rsqrt(x[0][0]); result[1][0] = rsqrt(x[1][0]); result[2][0] = rsqrt(x[2][0]); result[0][1] = rsqrt(x[0][1]); result[1][1] = rsqrt(x[1][1]); result[2][1] = rsqrt(x[2][1]); return result; } float4x2 rsqrt(float4x2 x) { float4x2 result; result[0][0] = rsqrt(x[0][0]); result[1][0] = rsqrt(x[1][0]); result[2][0] = rsqrt(x[2][0]); result[3][0] = rsqrt(x[3][0]); result[0][1] = rsqrt(x[0][1]); result[1][1] = rsqrt(x[1][1]); result[2][1] = rsqrt(x[2][1]); result[3][1] = rsqrt(x[3][1]); return result; } float2x3 rsqrt(float2x3 x) { float2x3 result; result[0][0] = rsqrt(x[0][0]); result[1][0] = rsqrt(x[1][0]); result[0][1] = rsqrt(x[0][1]); result[1][1] = rsqrt(x[1][1]); result[0][2] = rsqrt(x[0][2]); result[1][2] = rsqrt(x[1][2]); return result; } float3x3 rsqrt(float3x3 x) { float3x3 result; result[0][0] = rsqrt(x[0][0]); result[1][0] = rsqrt(x[1][0]); result[2][0] = rsqrt(x[2][0]); result[0][1] = rsqrt(x[0][1]); result[1][1] = rsqrt(x[1][1]); result[2][1] = rsqrt(x[2][1]); result[0][2] = rsqrt(x[0][2]); result[1][2] = rsqrt(x[1][2]); result[2][2] = rsqrt(x[2][2]); return result; } float4x3 rsqrt(float4x3 x) { float4x3 result; result[0][0] = rsqrt(x[0][0]); result[1][0] = rsqrt(x[1][0]); result[2][0] = rsqrt(x[2][0]); result[3][0] = rsqrt(x[3][0]); result[0][1] = rsqrt(x[0][1]); result[1][1] = rsqrt(x[1][1]); result[2][1] = rsqrt(x[2][1]); result[3][1] = rsqrt(x[3][1]); result[0][2] = rsqrt(x[0][2]); result[1][2] = rsqrt(x[1][2]); result[2][2] = rsqrt(x[2][2]); result[3][2] = rsqrt(x[3][2]); return result; } float2x4 rsqrt(float2x4 x) { float2x4 result; result[0][0] = rsqrt(x[0][0]); result[1][0] = rsqrt(x[1][0]); result[0][1] = rsqrt(x[0][1]); result[1][1] = rsqrt(x[1][1]); result[0][2] = rsqrt(x[0][2]); result[1][2] = rsqrt(x[1][2]); result[0][3] = rsqrt(x[0][3]); result[1][3] = rsqrt(x[1][3]); return result; } float3x4 rsqrt(float3x4 x) { float3x4 result; result[0][0] = rsqrt(x[0][0]); result[1][0] = rsqrt(x[1][0]); result[2][0] = rsqrt(x[2][0]); result[0][1] = rsqrt(x[0][1]); result[1][1] = rsqrt(x[1][1]); result[2][1] = rsqrt(x[2][1]); result[0][2] = rsqrt(x[0][2]); result[1][2] = rsqrt(x[1][2]); result[2][2] = rsqrt(x[2][2]); result[0][3] = rsqrt(x[0][3]); result[1][3] = rsqrt(x[1][3]); result[2][3] = rsqrt(x[2][3]); return result; } float4x4 rsqrt(float4x4 x) { float4x4 result; result[0][0] = rsqrt(x[0][0]); result[1][0] = rsqrt(x[1][0]); result[2][0] = rsqrt(x[2][0]); result[3][0] = rsqrt(x[3][0]); result[0][1] = rsqrt(x[0][1]); result[1][1] = rsqrt(x[1][1]); result[2][1] = rsqrt(x[2][1]); result[3][1] = rsqrt(x[3][1]); result[0][2] = rsqrt(x[0][2]); result[1][2] = rsqrt(x[1][2]); result[2][2] = rsqrt(x[2][2]); result[3][2] = rsqrt(x[3][2]); result[0][3] = rsqrt(x[0][3]); result[1][3] = rsqrt(x[1][3]); result[2][3] = rsqrt(x[2][3]); result[3][3] = rsqrt(x[3][3]); 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[1][0] = sqrt(x[1][0]); result[0][1] = sqrt(x[0][1]); result[1][1] = sqrt(x[1][1]); return result; } float3x2 sqrt(float3x2 x) { float3x2 result; result[0][0] = sqrt(x[0][0]); result[1][0] = sqrt(x[1][0]); result[2][0] = sqrt(x[2][0]); result[0][1] = sqrt(x[0][1]); result[1][1] = sqrt(x[1][1]); result[2][1] = sqrt(x[2][1]); return result; } float4x2 sqrt(float4x2 x) { float4x2 result; result[0][0] = sqrt(x[0][0]); result[1][0] = sqrt(x[1][0]); result[2][0] = sqrt(x[2][0]); result[3][0] = sqrt(x[3][0]); result[0][1] = sqrt(x[0][1]); result[1][1] = sqrt(x[1][1]); result[2][1] = sqrt(x[2][1]); result[3][1] = sqrt(x[3][1]); return result; } float2x3 sqrt(float2x3 x) { float2x3 result; result[0][0] = sqrt(x[0][0]); result[1][0] = sqrt(x[1][0]); result[0][1] = sqrt(x[0][1]); result[1][1] = sqrt(x[1][1]); result[0][2] = sqrt(x[0][2]); result[1][2] = sqrt(x[1][2]); return result; } float3x3 sqrt(float3x3 x) { float3x3 result; result[0][0] = sqrt(x[0][0]); result[1][0] = sqrt(x[1][0]); result[2][0] = sqrt(x[2][0]); result[0][1] = sqrt(x[0][1]); result[1][1] = sqrt(x[1][1]); result[2][1] = sqrt(x[2][1]); result[0][2] = sqrt(x[0][2]); result[1][2] = sqrt(x[1][2]); result[2][2] = sqrt(x[2][2]); return result; } float4x3 sqrt(float4x3 x) { float4x3 result; result[0][0] = sqrt(x[0][0]); result[1][0] = sqrt(x[1][0]); result[2][0] = sqrt(x[2][0]); result[3][0] = sqrt(x[3][0]); result[0][1] = sqrt(x[0][1]); result[1][1] = sqrt(x[1][1]); result[2][1] = sqrt(x[2][1]); result[3][1] = sqrt(x[3][1]); result[0][2] = sqrt(x[0][2]); result[1][2] = sqrt(x[1][2]); result[2][2] = sqrt(x[2][2]); result[3][2] = sqrt(x[3][2]); return result; } float2x4 sqrt(float2x4 x) { float2x4 result; result[0][0] = sqrt(x[0][0]); result[1][0] = sqrt(x[1][0]); result[0][1] = sqrt(x[0][1]); result[1][1] = sqrt(x[1][1]); result[0][2] = sqrt(x[0][2]); result[1][2] = sqrt(x[1][2]); result[0][3] = sqrt(x[0][3]); result[1][3] = sqrt(x[1][3]); return result; } float3x4 sqrt(float3x4 x) { float3x4 result; result[0][0] = sqrt(x[0][0]); result[1][0] = sqrt(x[1][0]); result[2][0] = sqrt(x[2][0]); result[0][1] = sqrt(x[0][1]); result[1][1] = sqrt(x[1][1]); result[2][1] = sqrt(x[2][1]); result[0][2] = sqrt(x[0][2]); result[1][2] = sqrt(x[1][2]); result[2][2] = sqrt(x[2][2]); result[0][3] = sqrt(x[0][3]); result[1][3] = sqrt(x[1][3]); result[2][3] = sqrt(x[2][3]); return result; } float4x4 sqrt(float4x4 x) { float4x4 result; result[0][0] = sqrt(x[0][0]); result[1][0] = sqrt(x[1][0]); result[2][0] = sqrt(x[2][0]); result[3][0] = sqrt(x[3][0]); result[0][1] = sqrt(x[0][1]); result[1][1] = sqrt(x[1][1]); result[2][1] = sqrt(x[2][1]); result[3][1] = sqrt(x[3][1]); result[0][2] = sqrt(x[0][2]); result[1][2] = sqrt(x[1][2]); result[2][2] = sqrt(x[2][2]); result[3][2] = sqrt(x[3][2]); result[0][3] = sqrt(x[0][3]); result[1][3] = sqrt(x[1][3]); result[2][3] = sqrt(x[2][3]); 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[1][0] = acos(x[1][0]); result[0][1] = acos(x[0][1]); result[1][1] = acos(x[1][1]); return result; } float3x2 acos(float3x2 x) { float3x2 result; result[0][0] = acos(x[0][0]); result[1][0] = acos(x[1][0]); result[2][0] = acos(x[2][0]); result[0][1] = acos(x[0][1]); result[1][1] = acos(x[1][1]); result[2][1] = acos(x[2][1]); return result; } float4x2 acos(float4x2 x) { float4x2 result; result[0][0] = acos(x[0][0]); result[1][0] = acos(x[1][0]); result[2][0] = acos(x[2][0]); result[3][0] = acos(x[3][0]); result[0][1] = acos(x[0][1]); result[1][1] = acos(x[1][1]); result[2][1] = acos(x[2][1]); result[3][1] = acos(x[3][1]); return result; } float2x3 acos(float2x3 x) { float2x3 result; result[0][0] = acos(x[0][0]); result[1][0] = acos(x[1][0]); result[0][1] = acos(x[0][1]); result[1][1] = acos(x[1][1]); result[0][2] = acos(x[0][2]); result[1][2] = acos(x[1][2]); return result; } float3x3 acos(float3x3 x) { float3x3 result; result[0][0] = acos(x[0][0]); result[1][0] = acos(x[1][0]); result[2][0] = acos(x[2][0]); result[0][1] = acos(x[0][1]); result[1][1] = acos(x[1][1]); result[2][1] = acos(x[2][1]); result[0][2] = acos(x[0][2]); result[1][2] = acos(x[1][2]); result[2][2] = acos(x[2][2]); return result; } float4x3 acos(float4x3 x) { float4x3 result; result[0][0] = acos(x[0][0]); result[1][0] = acos(x[1][0]); result[2][0] = acos(x[2][0]); result[3][0] = acos(x[3][0]); result[0][1] = acos(x[0][1]); result[1][1] = acos(x[1][1]); result[2][1] = acos(x[2][1]); result[3][1] = acos(x[3][1]); result[0][2] = acos(x[0][2]); result[1][2] = acos(x[1][2]); result[2][2] = acos(x[2][2]); result[3][2] = acos(x[3][2]); return result; } float2x4 acos(float2x4 x) { float2x4 result; result[0][0] = acos(x[0][0]); result[1][0] = acos(x[1][0]); result[0][1] = acos(x[0][1]); result[1][1] = acos(x[1][1]); result[0][2] = acos(x[0][2]); result[1][2] = acos(x[1][2]); result[0][3] = acos(x[0][3]); result[1][3] = acos(x[1][3]); return result; } float3x4 acos(float3x4 x) { float3x4 result; result[0][0] = acos(x[0][0]); result[1][0] = acos(x[1][0]); result[2][0] = acos(x[2][0]); result[0][1] = acos(x[0][1]); result[1][1] = acos(x[1][1]); result[2][1] = acos(x[2][1]); result[0][2] = acos(x[0][2]); result[1][2] = acos(x[1][2]); result[2][2] = acos(x[2][2]); result[0][3] = acos(x[0][3]); result[1][3] = acos(x[1][3]); result[2][3] = acos(x[2][3]); return result; } float4x4 acos(float4x4 x) { float4x4 result; result[0][0] = acos(x[0][0]); result[1][0] = acos(x[1][0]); result[2][0] = acos(x[2][0]); result[3][0] = acos(x[3][0]); result[0][1] = acos(x[0][1]); result[1][1] = acos(x[1][1]); result[2][1] = acos(x[2][1]); result[3][1] = acos(x[3][1]); result[0][2] = acos(x[0][2]); result[1][2] = acos(x[1][2]); result[2][2] = acos(x[2][2]); result[3][2] = acos(x[3][2]); result[0][3] = acos(x[0][3]); result[1][3] = acos(x[1][3]); result[2][3] = acos(x[2][3]); result[3][3] = acos(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 bool3x2 operator>(float3x2, float3x2); native bool4x2 operator>(float4x2, float4x2); native bool2x3 operator>(float2x3, float2x3); native bool3x3 operator>(float3x3, float3x3); native bool4x3 operator>(float4x3, float4x3); native bool2x4 operator>(float2x4, float2x4); native bool3x4 operator>(float3x4, float3x4); 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 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[1][0] = tanh(x[1][0]); result[0][1] = tanh(x[0][1]); result[1][1] = tanh(x[1][1]); return result; } float3x2 tanh(float3x2 x) { float3x2 result; result[0][0] = tanh(x[0][0]); result[1][0] = tanh(x[1][0]); result[2][0] = tanh(x[2][0]); result[0][1] = tanh(x[0][1]); result[1][1] = tanh(x[1][1]); result[2][1] = tanh(x[2][1]); return result; } float4x2 tanh(float4x2 x) { float4x2 result; result[0][0] = tanh(x[0][0]); result[1][0] = tanh(x[1][0]); result[2][0] = tanh(x[2][0]); result[3][0] = tanh(x[3][0]); result[0][1] = tanh(x[0][1]); result[1][1] = tanh(x[1][1]); result[2][1] = tanh(x[2][1]); result[3][1] = tanh(x[3][1]); return result; } float2x3 tanh(float2x3 x) { float2x3 result; result[0][0] = tanh(x[0][0]); result[1][0] = tanh(x[1][0]); result[0][1] = tanh(x[0][1]); result[1][1] = tanh(x[1][1]); result[0][2] = tanh(x[0][2]); result[1][2] = tanh(x[1][2]); return result; } float3x3 tanh(float3x3 x) { float3x3 result; result[0][0] = tanh(x[0][0]); result[1][0] = tanh(x[1][0]); result[2][0] = tanh(x[2][0]); result[0][1] = tanh(x[0][1]); result[1][1] = tanh(x[1][1]); result[2][1] = tanh(x[2][1]); result[0][2] = tanh(x[0][2]); result[1][2] = tanh(x[1][2]); result[2][2] = tanh(x[2][2]); return result; } float4x3 tanh(float4x3 x) { float4x3 result; result[0][0] = tanh(x[0][0]); result[1][0] = tanh(x[1][0]); result[2][0] = tanh(x[2][0]); result[3][0] = tanh(x[3][0]); result[0][1] = tanh(x[0][1]); result[1][1] = tanh(x[1][1]); result[2][1] = tanh(x[2][1]); result[3][1] = tanh(x[3][1]); result[0][2] = tanh(x[0][2]); result[1][2] = tanh(x[1][2]); result[2][2] = tanh(x[2][2]); result[3][2] = tanh(x[3][2]); return result; } float2x4 tanh(float2x4 x) { float2x4 result; result[0][0] = tanh(x[0][0]); result[1][0] = tanh(x[1][0]); result[0][1] = tanh(x[0][1]); result[1][1] = tanh(x[1][1]); result[0][2] = tanh(x[0][2]); result[1][2] = tanh(x[1][2]); result[0][3] = tanh(x[0][3]); result[1][3] = tanh(x[1][3]); return result; } float3x4 tanh(float3x4 x) { float3x4 result; result[0][0] = tanh(x[0][0]); result[1][0] = tanh(x[1][0]); result[2][0] = tanh(x[2][0]); result[0][1] = tanh(x[0][1]); result[1][1] = tanh(x[1][1]); result[2][1] = tanh(x[2][1]); result[0][2] = tanh(x[0][2]); result[1][2] = tanh(x[1][2]); result[2][2] = tanh(x[2][2]); result[0][3] = tanh(x[0][3]); result[1][3] = tanh(x[1][3]); result[2][3] = tanh(x[2][3]); return result; } float4x4 tanh(float4x4 x) { float4x4 result; result[0][0] = tanh(x[0][0]); result[1][0] = tanh(x[1][0]); result[2][0] = tanh(x[2][0]); result[3][0] = tanh(x[3][0]); result[0][1] = tanh(x[0][1]); result[1][1] = tanh(x[1][1]); result[2][1] = tanh(x[2][1]); result[3][1] = tanh(x[3][1]); result[0][2] = tanh(x[0][2]); result[1][2] = tanh(x[1][2]); result[2][2] = tanh(x[2][2]); result[3][2] = tanh(x[3][2]); result[0][3] = tanh(x[0][3]); result[1][3] = tanh(x[1][3]); result[2][3] = tanh(x[2][3]); result[3][3] = tanh(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 float3x2 operator*(float3x2, float3x2); native float3x2 operator*(float3x2, float); native float3x2 operator*(float, float3x2); native float4x2 operator*(float4x2, float4x2); native float4x2 operator*(float4x2, float); native float4x2 operator*(float, float4x2); native float2x3 operator*(float2x3, float2x3); native float2x3 operator*(float2x3, float); native float2x3 operator*(float, float2x3); native float3x3 operator*(float3x3, float3x3); native float3x3 operator*(float3x3, float); native float3x3 operator*(float, float3x3); native float4x3 operator*(float4x3, float4x3); native float4x3 operator*(float4x3, float); native float4x3 operator*(float, float4x3); native float2x4 operator*(float2x4, float2x4); native float2x4 operator*(float2x4, float); native float2x4 operator*(float, float2x4); native float3x4 operator*(float3x4, float3x4); native float3x4 operator*(float3x4, float); native float3x4 operator*(float, float3x4); 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[1][0] = cos(x[1][0]); result[0][1] = cos(x[0][1]); result[1][1] = cos(x[1][1]); return result; } float3x2 cos(float3x2 x) { float3x2 result; result[0][0] = cos(x[0][0]); result[1][0] = cos(x[1][0]); result[2][0] = cos(x[2][0]); result[0][1] = cos(x[0][1]); result[1][1] = cos(x[1][1]); result[2][1] = cos(x[2][1]); return result; } float4x2 cos(float4x2 x) { float4x2 result; result[0][0] = cos(x[0][0]); result[1][0] = cos(x[1][0]); result[2][0] = cos(x[2][0]); result[3][0] = cos(x[3][0]); result[0][1] = cos(x[0][1]); result[1][1] = cos(x[1][1]); result[2][1] = cos(x[2][1]); result[3][1] = cos(x[3][1]); return result; } float2x3 cos(float2x3 x) { float2x3 result; result[0][0] = cos(x[0][0]); result[1][0] = cos(x[1][0]); result[0][1] = cos(x[0][1]); result[1][1] = cos(x[1][1]); result[0][2] = cos(x[0][2]); result[1][2] = cos(x[1][2]); return result; } float3x3 cos(float3x3 x) { float3x3 result; result[0][0] = cos(x[0][0]); result[1][0] = cos(x[1][0]); result[2][0] = cos(x[2][0]); result[0][1] = cos(x[0][1]); result[1][1] = cos(x[1][1]); result[2][1] = cos(x[2][1]); result[0][2] = cos(x[0][2]); result[1][2] = cos(x[1][2]); result[2][2] = cos(x[2][2]); return result; } float4x3 cos(float4x3 x) { float4x3 result; result[0][0] = cos(x[0][0]); result[1][0] = cos(x[1][0]); result[2][0] = cos(x[2][0]); result[3][0] = cos(x[3][0]); result[0][1] = cos(x[0][1]); result[1][1] = cos(x[1][1]); result[2][1] = cos(x[2][1]); result[3][1] = cos(x[3][1]); result[0][2] = cos(x[0][2]); result[1][2] = cos(x[1][2]); result[2][2] = cos(x[2][2]); result[3][2] = cos(x[3][2]); return result; } float2x4 cos(float2x4 x) { float2x4 result; result[0][0] = cos(x[0][0]); result[1][0] = cos(x[1][0]); result[0][1] = cos(x[0][1]); result[1][1] = cos(x[1][1]); result[0][2] = cos(x[0][2]); result[1][2] = cos(x[1][2]); result[0][3] = cos(x[0][3]); result[1][3] = cos(x[1][3]); return result; } float3x4 cos(float3x4 x) { float3x4 result; result[0][0] = cos(x[0][0]); result[1][0] = cos(x[1][0]); result[2][0] = cos(x[2][0]); result[0][1] = cos(x[0][1]); result[1][1] = cos(x[1][1]); result[2][1] = cos(x[2][1]); result[0][2] = cos(x[0][2]); result[1][2] = cos(x[1][2]); result[2][2] = cos(x[2][2]); result[0][3] = cos(x[0][3]); result[1][3] = cos(x[1][3]); result[2][3] = cos(x[2][3]); return result; } float4x4 cos(float4x4 x) { float4x4 result; result[0][0] = cos(x[0][0]); result[1][0] = cos(x[1][0]); result[2][0] = cos(x[2][0]); result[3][0] = cos(x[3][0]); result[0][1] = cos(x[0][1]); result[1][1] = cos(x[1][1]); result[2][1] = cos(x[2][1]); result[3][1] = cos(x[3][1]); result[0][2] = cos(x[0][2]); result[1][2] = cos(x[1][2]); result[2][2] = cos(x[2][2]); result[3][2] = cos(x[3][2]); result[0][3] = cos(x[0][3]); result[1][3] = cos(x[1][3]); result[2][3] = cos(x[2][3]); result[3][3] = cos(x[3][3]); 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 bool3x2 operator==(float3x2, float3x2); native bool4x2 operator==(float4x2, float4x2); native bool2x3 operator==(float2x3, float2x3); native bool3x3 operator==(float3x3, float3x3); native bool4x3 operator==(float4x3, float4x3); native bool2x4 operator==(float2x4, float2x4); native bool3x4 operator==(float3x4, float3x4); native bool4x4 operator==(float4x4, float4x4); native bool2x2 operator==(bool2x2, bool2x2); native bool3x2 operator==(bool3x2, bool3x2); native bool4x2 operator==(bool4x2, bool4x2); native bool2x3 operator==(bool2x3, bool2x3); native bool3x3 operator==(bool3x3, bool3x3); native bool4x3 operator==(bool4x3, bool4x3); native bool2x4 operator==(bool2x4, bool2x4); native bool3x4 operator==(bool3x4, bool3x4); 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 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 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[1][0] = log2(x[1][0]); result[0][1] = log2(x[0][1]); result[1][1] = log2(x[1][1]); return result; } float3x2 log2(float3x2 x) { float3x2 result; result[0][0] = log2(x[0][0]); result[1][0] = log2(x[1][0]); result[2][0] = log2(x[2][0]); result[0][1] = log2(x[0][1]); result[1][1] = log2(x[1][1]); result[2][1] = log2(x[2][1]); return result; } float4x2 log2(float4x2 x) { float4x2 result; result[0][0] = log2(x[0][0]); result[1][0] = log2(x[1][0]); result[2][0] = log2(x[2][0]); result[3][0] = log2(x[3][0]); result[0][1] = log2(x[0][1]); result[1][1] = log2(x[1][1]); result[2][1] = log2(x[2][1]); result[3][1] = log2(x[3][1]); return result; } float2x3 log2(float2x3 x) { float2x3 result; result[0][0] = log2(x[0][0]); result[1][0] = log2(x[1][0]); result[0][1] = log2(x[0][1]); result[1][1] = log2(x[1][1]); result[0][2] = log2(x[0][2]); result[1][2] = log2(x[1][2]); return result; } float3x3 log2(float3x3 x) { float3x3 result; result[0][0] = log2(x[0][0]); result[1][0] = log2(x[1][0]); result[2][0] = log2(x[2][0]); result[0][1] = log2(x[0][1]); result[1][1] = log2(x[1][1]); result[2][1] = log2(x[2][1]); result[0][2] = log2(x[0][2]); result[1][2] = log2(x[1][2]); result[2][2] = log2(x[2][2]); return result; } float4x3 log2(float4x3 x) { float4x3 result; result[0][0] = log2(x[0][0]); result[1][0] = log2(x[1][0]); result[2][0] = log2(x[2][0]); result[3][0] = log2(x[3][0]); result[0][1] = log2(x[0][1]); result[1][1] = log2(x[1][1]); result[2][1] = log2(x[2][1]); result[3][1] = log2(x[3][1]); result[0][2] = log2(x[0][2]); result[1][2] = log2(x[1][2]); result[2][2] = log2(x[2][2]); result[3][2] = log2(x[3][2]); return result; } float2x4 log2(float2x4 x) { float2x4 result; result[0][0] = log2(x[0][0]); result[1][0] = log2(x[1][0]); result[0][1] = log2(x[0][1]); result[1][1] = log2(x[1][1]); result[0][2] = log2(x[0][2]); result[1][2] = log2(x[1][2]); result[0][3] = log2(x[0][3]); result[1][3] = log2(x[1][3]); return result; } float3x4 log2(float3x4 x) { float3x4 result; result[0][0] = log2(x[0][0]); result[1][0] = log2(x[1][0]); result[2][0] = log2(x[2][0]); result[0][1] = log2(x[0][1]); result[1][1] = log2(x[1][1]); result[2][1] = log2(x[2][1]); result[0][2] = log2(x[0][2]); result[1][2] = log2(x[1][2]); result[2][2] = log2(x[2][2]); result[0][3] = log2(x[0][3]); result[1][3] = log2(x[1][3]); result[2][3] = log2(x[2][3]); return result; } float4x4 log2(float4x4 x) { float4x4 result; result[0][0] = log2(x[0][0]); result[1][0] = log2(x[1][0]); result[2][0] = log2(x[2][0]); result[3][0] = log2(x[3][0]); result[0][1] = log2(x[0][1]); result[1][1] = log2(x[1][1]); result[2][1] = log2(x[2][1]); result[3][1] = log2(x[3][1]); result[0][2] = log2(x[0][2]); result[1][2] = log2(x[1][2]); result[2][2] = log2(x[2][2]); result[3][2] = log2(x[3][2]); result[0][3] = log2(x[0][3]); result[1][3] = log2(x[1][3]); result[2][3] = log2(x[2][3]); 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[1][0] = ldexp(x[1][0], y[1][0]); result[0][1] = ldexp(x[0][1], y[0][1]); result[1][1] = ldexp(x[1][1], y[1][1]); return result; } float3x2 ldexp(float3x2 x, float3x2 y) { float3x2 result; result[0][0] = ldexp(x[0][0], y[0][0]); result[1][0] = ldexp(x[1][0], y[1][0]); result[2][0] = ldexp(x[2][0], y[2][0]); result[0][1] = ldexp(x[0][1], y[0][1]); result[1][1] = ldexp(x[1][1], y[1][1]); result[2][1] = ldexp(x[2][1], y[2][1]); return result; } float4x2 ldexp(float4x2 x, float4x2 y) { float4x2 result; result[0][0] = ldexp(x[0][0], y[0][0]); result[1][0] = ldexp(x[1][0], y[1][0]); result[2][0] = ldexp(x[2][0], y[2][0]); result[3][0] = ldexp(x[3][0], y[3][0]); result[0][1] = ldexp(x[0][1], y[0][1]); result[1][1] = ldexp(x[1][1], y[1][1]); result[2][1] = ldexp(x[2][1], y[2][1]); result[3][1] = ldexp(x[3][1], y[3][1]); return result; } float2x3 ldexp(float2x3 x, float2x3 y) { float2x3 result; result[0][0] = ldexp(x[0][0], y[0][0]); result[1][0] = ldexp(x[1][0], y[1][0]); result[0][1] = ldexp(x[0][1], y[0][1]); result[1][1] = ldexp(x[1][1], y[1][1]); result[0][2] = ldexp(x[0][2], y[0][2]); result[1][2] = ldexp(x[1][2], y[1][2]); return result; } float3x3 ldexp(float3x3 x, float3x3 y) { float3x3 result; result[0][0] = ldexp(x[0][0], y[0][0]); result[1][0] = ldexp(x[1][0], y[1][0]); result[2][0] = ldexp(x[2][0], y[2][0]); result[0][1] = ldexp(x[0][1], y[0][1]); result[1][1] = ldexp(x[1][1], y[1][1]); result[2][1] = ldexp(x[2][1], y[2][1]); result[0][2] = ldexp(x[0][2], y[0][2]); result[1][2] = ldexp(x[1][2], y[1][2]); result[2][2] = ldexp(x[2][2], y[2][2]); return result; } float4x3 ldexp(float4x3 x, float4x3 y) { float4x3 result; result[0][0] = ldexp(x[0][0], y[0][0]); result[1][0] = ldexp(x[1][0], y[1][0]); result[2][0] = ldexp(x[2][0], y[2][0]); result[3][0] = ldexp(x[3][0], y[3][0]); result[0][1] = ldexp(x[0][1], y[0][1]); result[1][1] = ldexp(x[1][1], y[1][1]); result[2][1] = ldexp(x[2][1], y[2][1]); result[3][1] = ldexp(x[3][1], y[3][1]); result[0][2] = ldexp(x[0][2], y[0][2]); result[1][2] = ldexp(x[1][2], y[1][2]); result[2][2] = ldexp(x[2][2], y[2][2]); result[3][2] = ldexp(x[3][2], y[3][2]); return result; } float2x4 ldexp(float2x4 x, float2x4 y) { float2x4 result; result[0][0] = ldexp(x[0][0], y[0][0]); result[1][0] = ldexp(x[1][0], y[1][0]); result[0][1] = ldexp(x[0][1], y[0][1]); result[1][1] = ldexp(x[1][1], y[1][1]); result[0][2] = ldexp(x[0][2], y[0][2]); result[1][2] = ldexp(x[1][2], y[1][2]); result[0][3] = ldexp(x[0][3], y[0][3]); result[1][3] = ldexp(x[1][3], y[1][3]); return result; } float3x4 ldexp(float3x4 x, float3x4 y) { float3x4 result; result[0][0] = ldexp(x[0][0], y[0][0]); result[1][0] = ldexp(x[1][0], y[1][0]); result[2][0] = ldexp(x[2][0], y[2][0]); result[0][1] = ldexp(x[0][1], y[0][1]); result[1][1] = ldexp(x[1][1], y[1][1]); result[2][1] = ldexp(x[2][1], y[2][1]); result[0][2] = ldexp(x[0][2], y[0][2]); result[1][2] = ldexp(x[1][2], y[1][2]); result[2][2] = ldexp(x[2][2], y[2][2]); result[0][3] = ldexp(x[0][3], y[0][3]); result[1][3] = ldexp(x[1][3], y[1][3]); result[2][3] = ldexp(x[2][3], y[2][3]); return result; } float4x4 ldexp(float4x4 x, float4x4 y) { float4x4 result; result[0][0] = ldexp(x[0][0], y[0][0]); result[1][0] = ldexp(x[1][0], y[1][0]); result[2][0] = ldexp(x[2][0], y[2][0]); result[3][0] = ldexp(x[3][0], y[3][0]); result[0][1] = ldexp(x[0][1], y[0][1]); result[1][1] = ldexp(x[1][1], y[1][1]); result[2][1] = ldexp(x[2][1], y[2][1]); result[3][1] = ldexp(x[3][1], y[3][1]); result[0][2] = ldexp(x[0][2], y[0][2]); result[1][2] = ldexp(x[1][2], y[1][2]); result[2][2] = ldexp(x[2][2], y[2][2]); result[3][2] = ldexp(x[3][2], y[3][2]); result[0][3] = ldexp(x[0][3], y[0][3]); result[1][3] = ldexp(x[1][3], y[1][3]); result[2][3] = ldexp(x[2][3], y[2][3]); result[3][3] = ldexp(x[3][3], y[3][3]); 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[1][0] = abs(x[1][0]); result[0][1] = abs(x[0][1]); result[1][1] = abs(x[1][1]); return result; } float3x2 abs(float3x2 x) { float3x2 result; result[0][0] = abs(x[0][0]); result[1][0] = abs(x[1][0]); result[2][0] = abs(x[2][0]); result[0][1] = abs(x[0][1]); result[1][1] = abs(x[1][1]); result[2][1] = abs(x[2][1]); return result; } float4x2 abs(float4x2 x) { float4x2 result; result[0][0] = abs(x[0][0]); result[1][0] = abs(x[1][0]); result[2][0] = abs(x[2][0]); result[3][0] = abs(x[3][0]); result[0][1] = abs(x[0][1]); result[1][1] = abs(x[1][1]); result[2][1] = abs(x[2][1]); result[3][1] = abs(x[3][1]); return result; } float2x3 abs(float2x3 x) { float2x3 result; result[0][0] = abs(x[0][0]); result[1][0] = abs(x[1][0]); result[0][1] = abs(x[0][1]); result[1][1] = abs(x[1][1]); result[0][2] = abs(x[0][2]); result[1][2] = abs(x[1][2]); return result; } float3x3 abs(float3x3 x) { float3x3 result; result[0][0] = abs(x[0][0]); result[1][0] = abs(x[1][0]); result[2][0] = abs(x[2][0]); result[0][1] = abs(x[0][1]); result[1][1] = abs(x[1][1]); result[2][1] = abs(x[2][1]); result[0][2] = abs(x[0][2]); result[1][2] = abs(x[1][2]); result[2][2] = abs(x[2][2]); return result; } float4x3 abs(float4x3 x) { float4x3 result; result[0][0] = abs(x[0][0]); result[1][0] = abs(x[1][0]); result[2][0] = abs(x[2][0]); result[3][0] = abs(x[3][0]); result[0][1] = abs(x[0][1]); result[1][1] = abs(x[1][1]); result[2][1] = abs(x[2][1]); result[3][1] = abs(x[3][1]); result[0][2] = abs(x[0][2]); result[1][2] = abs(x[1][2]); result[2][2] = abs(x[2][2]); result[3][2] = abs(x[3][2]); return result; } float2x4 abs(float2x4 x) { float2x4 result; result[0][0] = abs(x[0][0]); result[1][0] = abs(x[1][0]); result[0][1] = abs(x[0][1]); result[1][1] = abs(x[1][1]); result[0][2] = abs(x[0][2]); result[1][2] = abs(x[1][2]); result[0][3] = abs(x[0][3]); result[1][3] = abs(x[1][3]); return result; } float3x4 abs(float3x4 x) { float3x4 result; result[0][0] = abs(x[0][0]); result[1][0] = abs(x[1][0]); result[2][0] = abs(x[2][0]); result[0][1] = abs(x[0][1]); result[1][1] = abs(x[1][1]); result[2][1] = abs(x[2][1]); result[0][2] = abs(x[0][2]); result[1][2] = abs(x[1][2]); result[2][2] = abs(x[2][2]); result[0][3] = abs(x[0][3]); result[1][3] = abs(x[1][3]); result[2][3] = abs(x[2][3]); return result; } float4x4 abs(float4x4 x) { float4x4 result; result[0][0] = abs(x[0][0]); result[1][0] = abs(x[1][0]); result[2][0] = abs(x[2][0]); result[3][0] = abs(x[3][0]); result[0][1] = abs(x[0][1]); result[1][1] = abs(x[1][1]); result[2][1] = abs(x[2][1]); result[3][1] = abs(x[3][1]); result[0][2] = abs(x[0][2]); result[1][2] = abs(x[1][2]); result[2][2] = abs(x[2][2]); result[3][2] = abs(x[3][2]); result[0][3] = abs(x[0][3]); result[1][3] = abs(x[1][3]); result[2][3] = abs(x[2][3]); result[3][3] = abs(x[3][3]); 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[1][0] = round(x[1][0]); result[0][1] = round(x[0][1]); result[1][1] = round(x[1][1]); return result; } float3x2 round(float3x2 x) { float3x2 result; result[0][0] = round(x[0][0]); result[1][0] = round(x[1][0]); result[2][0] = round(x[2][0]); result[0][1] = round(x[0][1]); result[1][1] = round(x[1][1]); result[2][1] = round(x[2][1]); return result; } float4x2 round(float4x2 x) { float4x2 result; result[0][0] = round(x[0][0]); result[1][0] = round(x[1][0]); result[2][0] = round(x[2][0]); result[3][0] = round(x[3][0]); result[0][1] = round(x[0][1]); result[1][1] = round(x[1][1]); result[2][1] = round(x[2][1]); result[3][1] = round(x[3][1]); return result; } float2x3 round(float2x3 x) { float2x3 result; result[0][0] = round(x[0][0]); result[1][0] = round(x[1][0]); result[0][1] = round(x[0][1]); result[1][1] = round(x[1][1]); result[0][2] = round(x[0][2]); result[1][2] = round(x[1][2]); return result; } float3x3 round(float3x3 x) { float3x3 result; result[0][0] = round(x[0][0]); result[1][0] = round(x[1][0]); result[2][0] = round(x[2][0]); result[0][1] = round(x[0][1]); result[1][1] = round(x[1][1]); result[2][1] = round(x[2][1]); result[0][2] = round(x[0][2]); result[1][2] = round(x[1][2]); result[2][2] = round(x[2][2]); return result; } float4x3 round(float4x3 x) { float4x3 result; result[0][0] = round(x[0][0]); result[1][0] = round(x[1][0]); result[2][0] = round(x[2][0]); result[3][0] = round(x[3][0]); result[0][1] = round(x[0][1]); result[1][1] = round(x[1][1]); result[2][1] = round(x[2][1]); result[3][1] = round(x[3][1]); result[0][2] = round(x[0][2]); result[1][2] = round(x[1][2]); result[2][2] = round(x[2][2]); result[3][2] = round(x[3][2]); return result; } float2x4 round(float2x4 x) { float2x4 result; result[0][0] = round(x[0][0]); result[1][0] = round(x[1][0]); result[0][1] = round(x[0][1]); result[1][1] = round(x[1][1]); result[0][2] = round(x[0][2]); result[1][2] = round(x[1][2]); result[0][3] = round(x[0][3]); result[1][3] = round(x[1][3]); return result; } float3x4 round(float3x4 x) { float3x4 result; result[0][0] = round(x[0][0]); result[1][0] = round(x[1][0]); result[2][0] = round(x[2][0]); result[0][1] = round(x[0][1]); result[1][1] = round(x[1][1]); result[2][1] = round(x[2][1]); result[0][2] = round(x[0][2]); result[1][2] = round(x[1][2]); result[2][2] = round(x[2][2]); result[0][3] = round(x[0][3]); result[1][3] = round(x[1][3]); result[2][3] = round(x[2][3]); return result; } float4x4 round(float4x4 x) { float4x4 result; result[0][0] = round(x[0][0]); result[1][0] = round(x[1][0]); result[2][0] = round(x[2][0]); result[3][0] = round(x[3][0]); result[0][1] = round(x[0][1]); result[1][1] = round(x[1][1]); result[2][1] = round(x[2][1]); result[3][1] = round(x[3][1]); result[0][2] = round(x[0][2]); result[1][2] = round(x[1][2]); result[2][2] = round(x[2][2]); result[3][2] = round(x[3][2]); result[0][3] = round(x[0][3]); result[1][3] = round(x[1][3]); result[2][3] = round(x[2][3]); 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[1][0] = x * y[1][0]; result[0][1] = x * y[0][1]; 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[1][0] = x[1][0] * y; result[0][1] = x[0][1] * y; result[1][1] = x[1][1] * y; return result; } float3x2 mul(float x, float3x2 y) { float3x2 result; result[0][0] = x * y[0][0]; result[1][0] = x * y[1][0]; result[2][0] = x * y[2][0]; result[0][1] = x * y[0][1]; result[1][1] = x * y[1][1]; 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[1][0] = x[1][0] * y; result[2][0] = x[2][0] * y; result[0][1] = x[0][1] * y; result[1][1] = x[1][1] * y; result[2][1] = x[2][1] * y; return result; } float4x2 mul(float x, float4x2 y) { float4x2 result; result[0][0] = x * y[0][0]; result[1][0] = x * y[1][0]; result[2][0] = x * y[2][0]; result[3][0] = x * y[3][0]; result[0][1] = x * y[0][1]; result[1][1] = x * y[1][1]; result[2][1] = x * y[2][1]; 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[1][0] = x[1][0] * y; result[2][0] = x[2][0] * y; result[3][0] = x[3][0] * y; result[0][1] = x[0][1] * y; result[1][1] = x[1][1] * y; result[2][1] = x[2][1] * y; result[3][1] = x[3][1] * y; return result; } float2x3 mul(float x, float2x3 y) { float2x3 result; result[0][0] = x * y[0][0]; result[1][0] = x * y[1][0]; result[0][1] = x * y[0][1]; result[1][1] = x * y[1][1]; result[0][2] = x * y[0][2]; 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[1][0] = x[1][0] * y; result[0][1] = x[0][1] * y; result[1][1] = x[1][1] * y; result[0][2] = x[0][2] * y; result[1][2] = x[1][2] * y; return result; } float3x3 mul(float x, float3x3 y) { float3x3 result; result[0][0] = x * y[0][0]; result[1][0] = x * y[1][0]; result[2][0] = x * y[2][0]; result[0][1] = x * y[0][1]; result[1][1] = x * y[1][1]; result[2][1] = x * y[2][1]; result[0][2] = x * y[0][2]; result[1][2] = x * y[1][2]; 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[1][0] = x[1][0] * y; result[2][0] = x[2][0] * y; result[0][1] = x[0][1] * y; result[1][1] = x[1][1] * y; result[2][1] = x[2][1] * y; result[0][2] = x[0][2] * y; result[1][2] = x[1][2] * y; result[2][2] = x[2][2] * y; return result; } float4x3 mul(float x, float4x3 y) { float4x3 result; result[0][0] = x * y[0][0]; result[1][0] = x * y[1][0]; result[2][0] = x * y[2][0]; result[3][0] = x * y[3][0]; result[0][1] = x * y[0][1]; result[1][1] = x * y[1][1]; result[2][1] = x * y[2][1]; result[3][1] = x * y[3][1]; result[0][2] = x * y[0][2]; result[1][2] = x * y[1][2]; result[2][2] = x * y[2][2]; 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[1][0] = x[1][0] * y; result[2][0] = x[2][0] * y; result[3][0] = x[3][0] * y; result[0][1] = x[0][1] * y; result[1][1] = x[1][1] * y; result[2][1] = x[2][1] * y; result[3][1] = x[3][1] * y; result[0][2] = x[0][2] * y; result[1][2] = x[1][2] * y; result[2][2] = x[2][2] * y; result[3][2] = x[3][2] * y; return result; } float2x4 mul(float x, float2x4 y) { float2x4 result; result[0][0] = x * y[0][0]; result[1][0] = x * y[1][0]; result[0][1] = x * y[0][1]; result[1][1] = x * y[1][1]; result[0][2] = x * y[0][2]; result[1][2] = x * y[1][2]; result[0][3] = x * y[0][3]; 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[1][0] = x[1][0] * y; result[0][1] = x[0][1] * y; result[1][1] = x[1][1] * y; result[0][2] = x[0][2] * y; result[1][2] = x[1][2] * y; result[0][3] = x[0][3] * y; result[1][3] = x[1][3] * y; return result; } float3x4 mul(float x, float3x4 y) { float3x4 result; result[0][0] = x * y[0][0]; result[1][0] = x * y[1][0]; result[2][0] = x * y[2][0]; result[0][1] = x * y[0][1]; result[1][1] = x * y[1][1]; result[2][1] = x * y[2][1]; result[0][2] = x * y[0][2]; result[1][2] = x * y[1][2]; result[2][2] = x * y[2][2]; result[0][3] = x * y[0][3]; result[1][3] = x * y[1][3]; 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[1][0] = x[1][0] * y; result[2][0] = x[2][0] * y; result[0][1] = x[0][1] * y; result[1][1] = x[1][1] * y; result[2][1] = x[2][1] * y; result[0][2] = x[0][2] * y; result[1][2] = x[1][2] * y; result[2][2] = x[2][2] * y; result[0][3] = x[0][3] * y; result[1][3] = x[1][3] * y; result[2][3] = x[2][3] * y; return result; } float4x4 mul(float x, float4x4 y) { float4x4 result; result[0][0] = x * y[0][0]; result[1][0] = x * y[1][0]; result[2][0] = x * y[2][0]; result[3][0] = x * y[3][0]; result[0][1] = x * y[0][1]; result[1][1] = x * y[1][1]; result[2][1] = x * y[2][1]; result[3][1] = x * y[3][1]; result[0][2] = x * y[0][2]; result[1][2] = x * y[1][2]; result[2][2] = x * y[2][2]; result[3][2] = x * y[3][2]; result[0][3] = x * y[0][3]; result[1][3] = x * y[1][3]; result[2][3] = x * y[2][3]; 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[1][0] = x[1][0] * y; result[2][0] = x[2][0] * y; result[3][0] = x[3][0] * y; result[0][1] = x[0][1] * y; result[1][1] = x[1][1] * y; result[2][1] = x[2][1] * y; result[3][1] = x[3][1] * y; result[0][2] = x[0][2] * y; result[1][2] = x[1][2] * y; result[2][2] = x[2][2] * y; result[3][2] = x[3][2] * y; result[0][3] = x[0][3] * y; result[1][3] = x[1][3] * y; result[2][3] = x[2][3] * 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[0][1]; result[1] = 0; result[1] += x[0] * y[1][0]; 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[1][0] * y[1]; result[1] = 0; result[1] += x[0][1] * y[0]; result[1] += x[1][1] * y[1]; return result; } float3 mul(float2 x, float3x2 y) { float3 result; result[0] = 0; result[0] += x[0] * y[0][0]; result[0] += x[1] * y[0][1]; result[1] = 0; result[1] += x[0] * y[1][0]; result[1] += x[1] * y[1][1]; result[2] = 0; result[2] += x[0] * y[2][0]; result[2] += x[1] * y[2][1]; return result; } float2 mul(float3x2 x, float3 y) { float2 result; result[0] = 0; result[0] += x[0][0] * y[0]; result[0] += x[1][0] * y[1]; result[0] += x[2][0] * y[2]; result[1] = 0; result[1] += x[0][1] * y[0]; result[1] += x[1][1] * y[1]; result[1] += x[2][1] * y[2]; return result; } float4 mul(float2 x, float4x2 y) { float4 result; result[0] = 0; result[0] += x[0] * y[0][0]; result[0] += x[1] * y[0][1]; result[1] = 0; result[1] += x[0] * y[1][0]; result[1] += x[1] * y[1][1]; result[2] = 0; result[2] += x[0] * y[2][0]; result[2] += x[1] * y[2][1]; result[3] = 0; result[3] += x[0] * y[3][0]; result[3] += x[1] * y[3][1]; return result; } float2 mul(float4x2 x, float4 y) { float2 result; result[0] = 0; result[0] += x[0][0] * y[0]; result[0] += x[1][0] * y[1]; result[0] += x[2][0] * y[2]; result[0] += x[3][0] * y[3]; result[1] = 0; result[1] += x[0][1] * y[0]; result[1] += x[1][1] * y[1]; result[1] += x[2][1] * y[2]; result[1] += x[3][1] * y[3]; return result; } float2 mul(float3 x, float2x3 y) { float2 result; result[0] = 0; result[0] += x[0] * y[0][0]; result[0] += x[1] * y[0][1]; result[0] += x[2] * y[0][2]; result[1] = 0; result[1] += x[0] * y[1][0]; result[1] += x[1] * y[1][1]; result[1] += x[2] * y[1][2]; return result; } float3 mul(float2x3 x, float2 y) { float3 result; result[0] = 0; result[0] += x[0][0] * y[0]; result[0] += x[1][0] * y[1]; result[1] = 0; result[1] += x[0][1] * y[0]; result[1] += x[1][1] * y[1]; result[2] = 0; result[2] += x[0][2] * y[0]; result[2] += x[1][2] * 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[0][1]; result[0] += x[2] * y[0][2]; result[1] = 0; result[1] += x[0] * y[1][0]; result[1] += x[1] * y[1][1]; result[1] += x[2] * y[1][2]; result[2] = 0; result[2] += x[0] * y[2][0]; result[2] += x[1] * y[2][1]; 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[1][0] * y[1]; result[0] += x[2][0] * y[2]; result[1] = 0; result[1] += x[0][1] * y[0]; result[1] += x[1][1] * y[1]; result[1] += x[2][1] * y[2]; result[2] = 0; result[2] += x[0][2] * y[0]; result[2] += x[1][2] * y[1]; result[2] += x[2][2] * y[2]; return result; } float4 mul(float3 x, float4x3 y) { float4 result; result[0] = 0; result[0] += x[0] * y[0][0]; result[0] += x[1] * y[0][1]; result[0] += x[2] * y[0][2]; result[1] = 0; result[1] += x[0] * y[1][0]; result[1] += x[1] * y[1][1]; result[1] += x[2] * y[1][2]; result[2] = 0; result[2] += x[0] * y[2][0]; result[2] += x[1] * y[2][1]; result[2] += x[2] * y[2][2]; result[3] = 0; result[3] += x[0] * y[3][0]; result[3] += x[1] * y[3][1]; result[3] += x[2] * y[3][2]; return result; } float3 mul(float4x3 x, float4 y) { float3 result; result[0] = 0; result[0] += x[0][0] * y[0]; result[0] += x[1][0] * y[1]; result[0] += x[2][0] * y[2]; result[0] += x[3][0] * y[3]; result[1] = 0; result[1] += x[0][1] * y[0]; result[1] += x[1][1] * y[1]; result[1] += x[2][1] * y[2]; result[1] += x[3][1] * y[3]; result[2] = 0; result[2] += x[0][2] * y[0]; result[2] += x[1][2] * y[1]; result[2] += x[2][2] * y[2]; result[2] += x[3][2] * y[3]; return result; } float2 mul(float4 x, float2x4 y) { float2 result; result[0] = 0; result[0] += x[0] * y[0][0]; result[0] += x[1] * y[0][1]; result[0] += x[2] * y[0][2]; result[0] += x[3] * y[0][3]; result[1] = 0; result[1] += x[0] * y[1][0]; result[1] += x[1] * y[1][1]; result[1] += x[2] * y[1][2]; result[1] += x[3] * y[1][3]; return result; } float4 mul(float2x4 x, float2 y) { float4 result; result[0] = 0; result[0] += x[0][0] * y[0]; result[0] += x[1][0] * y[1]; result[1] = 0; result[1] += x[0][1] * y[0]; result[1] += x[1][1] * y[1]; result[2] = 0; result[2] += x[0][2] * y[0]; result[2] += x[1][2] * y[1]; result[3] = 0; result[3] += x[0][3] * y[0]; result[3] += x[1][3] * y[1]; return result; } float3 mul(float4 x, float3x4 y) { float3 result; result[0] = 0; result[0] += x[0] * y[0][0]; result[0] += x[1] * y[0][1]; result[0] += x[2] * y[0][2]; result[0] += x[3] * y[0][3]; result[1] = 0; result[1] += x[0] * y[1][0]; result[1] += x[1] * y[1][1]; result[1] += x[2] * y[1][2]; result[1] += x[3] * y[1][3]; result[2] = 0; result[2] += x[0] * y[2][0]; result[2] += x[1] * y[2][1]; result[2] += x[2] * y[2][2]; result[2] += x[3] * y[2][3]; return result; } float4 mul(float3x4 x, float3 y) { float4 result; result[0] = 0; result[0] += x[0][0] * y[0]; result[0] += x[1][0] * y[1]; result[0] += x[2][0] * y[2]; result[1] = 0; result[1] += x[0][1] * y[0]; result[1] += x[1][1] * y[1]; result[1] += x[2][1] * y[2]; result[2] = 0; result[2] += x[0][2] * y[0]; result[2] += x[1][2] * y[1]; result[2] += x[2][2] * y[2]; result[3] = 0; result[3] += x[0][3] * y[0]; result[3] += x[1][3] * y[1]; result[3] += x[2][3] * 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[0][1]; result[0] += x[2] * y[0][2]; result[0] += x[3] * y[0][3]; result[1] = 0; result[1] += x[0] * y[1][0]; result[1] += x[1] * y[1][1]; result[1] += x[2] * y[1][2]; result[1] += x[3] * y[1][3]; result[2] = 0; result[2] += x[0] * y[2][0]; result[2] += x[1] * y[2][1]; result[2] += x[2] * y[2][2]; result[2] += x[3] * y[2][3]; result[3] = 0; result[3] += x[0] * y[3][0]; result[3] += x[1] * y[3][1]; result[3] += x[2] * y[3][2]; 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[1][0] * y[1]; result[0] += x[2][0] * y[2]; result[0] += x[3][0] * y[3]; result[1] = 0; result[1] += x[0][1] * y[0]; result[1] += x[1][1] * y[1]; result[1] += x[2][1] * y[2]; result[1] += x[3][1] * y[3]; result[2] = 0; result[2] += x[0][2] * y[0]; result[2] += x[1][2] * y[1]; result[2] += x[2][2] * y[2]; result[2] += x[3][2] * y[3]; result[3] = 0; result[3] += x[0][3] * y[0]; result[3] += x[1][3] * y[1]; result[3] += x[2][3] * 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[1][0] * y[0][1]; result[1][0] = 0; result[1][0] += x[0][0] * y[1][0]; result[1][0] += x[1][0] * y[1][1]; result[0][1] = 0; result[0][1] += x[0][1] * y[0][0]; result[0][1] += x[1][1] * y[0][1]; result[1][1] = 0; result[1][1] += x[0][1] * y[1][0]; result[1][1] += x[1][1] * y[1][1]; return result; } float3x2 mul(float2x2 x, float3x2 y) { float3x2 result; result[0][0] = 0; result[0][0] += x[0][0] * y[0][0]; result[0][0] += x[1][0] * y[0][1]; result[1][0] = 0; result[1][0] += x[0][0] * y[1][0]; result[1][0] += x[1][0] * y[1][1]; result[2][0] = 0; result[2][0] += x[0][0] * y[2][0]; result[2][0] += x[1][0] * y[2][1]; result[0][1] = 0; result[0][1] += x[0][1] * y[0][0]; result[0][1] += x[1][1] * y[0][1]; result[1][1] = 0; result[1][1] += x[0][1] * y[1][0]; result[1][1] += x[1][1] * y[1][1]; result[2][1] = 0; result[2][1] += x[0][1] * y[2][0]; result[2][1] += x[1][1] * y[2][1]; return result; } float4x2 mul(float2x2 x, float4x2 y) { float4x2 result; result[0][0] = 0; result[0][0] += x[0][0] * y[0][0]; result[0][0] += x[1][0] * y[0][1]; result[1][0] = 0; result[1][0] += x[0][0] * y[1][0]; result[1][0] += x[1][0] * y[1][1]; result[2][0] = 0; result[2][0] += x[0][0] * y[2][0]; result[2][0] += x[1][0] * y[2][1]; result[3][0] = 0; result[3][0] += x[0][0] * y[3][0]; result[3][0] += x[1][0] * y[3][1]; result[0][1] = 0; result[0][1] += x[0][1] * y[0][0]; result[0][1] += x[1][1] * y[0][1]; result[1][1] = 0; result[1][1] += x[0][1] * y[1][0]; result[1][1] += x[1][1] * y[1][1]; result[2][1] = 0; result[2][1] += x[0][1] * y[2][0]; result[2][1] += x[1][1] * y[2][1]; result[3][1] = 0; result[3][1] += x[0][1] * y[3][0]; result[3][1] += x[1][1] * y[3][1]; return result; } float2x2 mul(float3x2 x, float2x3 y) { float2x2 result; result[0][0] = 0; result[0][0] += x[0][0] * y[0][0]; result[0][0] += x[1][0] * y[0][1]; result[0][0] += x[2][0] * y[0][2]; result[1][0] = 0; result[1][0] += x[0][0] * y[1][0]; result[1][0] += x[1][0] * y[1][1]; result[1][0] += x[2][0] * y[1][2]; result[0][1] = 0; result[0][1] += x[0][1] * y[0][0]; result[0][1] += x[1][1] * y[0][1]; result[0][1] += x[2][1] * y[0][2]; result[1][1] = 0; result[1][1] += x[0][1] * y[1][0]; result[1][1] += x[1][1] * y[1][1]; result[1][1] += x[2][1] * y[1][2]; return result; } float3x2 mul(float3x2 x, float3x3 y) { float3x2 result; result[0][0] = 0; result[0][0] += x[0][0] * y[0][0]; result[0][0] += x[1][0] * y[0][1]; result[0][0] += x[2][0] * y[0][2]; result[1][0] = 0; result[1][0] += x[0][0] * y[1][0]; result[1][0] += x[1][0] * y[1][1]; result[1][0] += x[2][0] * y[1][2]; result[2][0] = 0; result[2][0] += x[0][0] * y[2][0]; result[2][0] += x[1][0] * y[2][1]; result[2][0] += x[2][0] * y[2][2]; result[0][1] = 0; result[0][1] += x[0][1] * y[0][0]; result[0][1] += x[1][1] * y[0][1]; result[0][1] += x[2][1] * y[0][2]; result[1][1] = 0; result[1][1] += x[0][1] * y[1][0]; result[1][1] += x[1][1] * y[1][1]; result[1][1] += x[2][1] * y[1][2]; result[2][1] = 0; result[2][1] += x[0][1] * y[2][0]; result[2][1] += x[1][1] * y[2][1]; result[2][1] += x[2][1] * y[2][2]; return result; } float4x2 mul(float3x2 x, float4x3 y) { float4x2 result; result[0][0] = 0; result[0][0] += x[0][0] * y[0][0]; result[0][0] += x[1][0] * y[0][1]; result[0][0] += x[2][0] * y[0][2]; result[1][0] = 0; result[1][0] += x[0][0] * y[1][0]; result[1][0] += x[1][0] * y[1][1]; result[1][0] += x[2][0] * y[1][2]; result[2][0] = 0; result[2][0] += x[0][0] * y[2][0]; result[2][0] += x[1][0] * y[2][1]; result[2][0] += x[2][0] * y[2][2]; result[3][0] = 0; result[3][0] += x[0][0] * y[3][0]; result[3][0] += x[1][0] * y[3][1]; result[3][0] += x[2][0] * y[3][2]; result[0][1] = 0; result[0][1] += x[0][1] * y[0][0]; result[0][1] += x[1][1] * y[0][1]; result[0][1] += x[2][1] * y[0][2]; result[1][1] = 0; result[1][1] += x[0][1] * y[1][0]; result[1][1] += x[1][1] * y[1][1]; result[1][1] += x[2][1] * y[1][2]; result[2][1] = 0; result[2][1] += x[0][1] * y[2][0]; result[2][1] += x[1][1] * y[2][1]; result[2][1] += x[2][1] * y[2][2]; result[3][1] = 0; result[3][1] += x[0][1] * y[3][0]; result[3][1] += x[1][1] * y[3][1]; result[3][1] += x[2][1] * y[3][2]; return result; } float2x2 mul(float4x2 x, float2x4 y) { float2x2 result; result[0][0] = 0; result[0][0] += x[0][0] * y[0][0]; result[0][0] += x[1][0] * y[0][1]; result[0][0] += x[2][0] * y[0][2]; result[0][0] += x[3][0] * y[0][3]; result[1][0] = 0; result[1][0] += x[0][0] * y[1][0]; result[1][0] += x[1][0] * y[1][1]; result[1][0] += x[2][0] * y[1][2]; result[1][0] += x[3][0] * y[1][3]; result[0][1] = 0; result[0][1] += x[0][1] * y[0][0]; result[0][1] += x[1][1] * y[0][1]; result[0][1] += x[2][1] * y[0][2]; result[0][1] += x[3][1] * y[0][3]; result[1][1] = 0; result[1][1] += x[0][1] * y[1][0]; result[1][1] += x[1][1] * y[1][1]; result[1][1] += x[2][1] * y[1][2]; result[1][1] += x[3][1] * y[1][3]; return result; } float3x2 mul(float4x2 x, float3x4 y) { float3x2 result; result[0][0] = 0; result[0][0] += x[0][0] * y[0][0]; result[0][0] += x[1][0] * y[0][1]; result[0][0] += x[2][0] * y[0][2]; result[0][0] += x[3][0] * y[0][3]; result[1][0] = 0; result[1][0] += x[0][0] * y[1][0]; result[1][0] += x[1][0] * y[1][1]; result[1][0] += x[2][0] * y[1][2]; result[1][0] += x[3][0] * y[1][3]; result[2][0] = 0; result[2][0] += x[0][0] * y[2][0]; result[2][0] += x[1][0] * y[2][1]; result[2][0] += x[2][0] * y[2][2]; result[2][0] += x[3][0] * y[2][3]; result[0][1] = 0; result[0][1] += x[0][1] * y[0][0]; result[0][1] += x[1][1] * y[0][1]; result[0][1] += x[2][1] * y[0][2]; result[0][1] += x[3][1] * y[0][3]; result[1][1] = 0; result[1][1] += x[0][1] * y[1][0]; result[1][1] += x[1][1] * y[1][1]; result[1][1] += x[2][1] * y[1][2]; result[1][1] += x[3][1] * y[1][3]; result[2][1] = 0; result[2][1] += x[0][1] * y[2][0]; result[2][1] += x[1][1] * y[2][1]; result[2][1] += x[2][1] * y[2][2]; result[2][1] += x[3][1] * y[2][3]; return result; } float4x2 mul(float4x2 x, float4x4 y) { float4x2 result; result[0][0] = 0; result[0][0] += x[0][0] * y[0][0]; result[0][0] += x[1][0] * y[0][1]; result[0][0] += x[2][0] * y[0][2]; result[0][0] += x[3][0] * y[0][3]; result[1][0] = 0; result[1][0] += x[0][0] * y[1][0]; result[1][0] += x[1][0] * y[1][1]; result[1][0] += x[2][0] * y[1][2]; result[1][0] += x[3][0] * y[1][3]; result[2][0] = 0; result[2][0] += x[0][0] * y[2][0]; result[2][0] += x[1][0] * y[2][1]; result[2][0] += x[2][0] * y[2][2]; result[2][0] += x[3][0] * y[2][3]; result[3][0] = 0; result[3][0] += x[0][0] * y[3][0]; result[3][0] += x[1][0] * y[3][1]; result[3][0] += x[2][0] * y[3][2]; result[3][0] += x[3][0] * y[3][3]; result[0][1] = 0; result[0][1] += x[0][1] * y[0][0]; result[0][1] += x[1][1] * y[0][1]; result[0][1] += x[2][1] * y[0][2]; result[0][1] += x[3][1] * y[0][3]; result[1][1] = 0; result[1][1] += x[0][1] * y[1][0]; result[1][1] += x[1][1] * y[1][1]; result[1][1] += x[2][1] * y[1][2]; result[1][1] += x[3][1] * y[1][3]; result[2][1] = 0; result[2][1] += x[0][1] * y[2][0]; result[2][1] += x[1][1] * y[2][1]; result[2][1] += x[2][1] * y[2][2]; result[2][1] += x[3][1] * y[2][3]; result[3][1] = 0; result[3][1] += x[0][1] * y[3][0]; result[3][1] += x[1][1] * y[3][1]; result[3][1] += x[2][1] * y[3][2]; result[3][1] += x[3][1] * y[3][3]; return result; } float2x3 mul(float2x3 x, float2x2 y) { float2x3 result; result[0][0] = 0; result[0][0] += x[0][0] * y[0][0]; result[0][0] += x[1][0] * y[0][1]; result[1][0] = 0; result[1][0] += x[0][0] * y[1][0]; result[1][0] += x[1][0] * y[1][1]; result[0][1] = 0; result[0][1] += x[0][1] * y[0][0]; result[0][1] += x[1][1] * y[0][1]; result[1][1] = 0; result[1][1] += x[0][1] * y[1][0]; result[1][1] += x[1][1] * y[1][1]; result[0][2] = 0; result[0][2] += x[0][2] * y[0][0]; result[0][2] += x[1][2] * y[0][1]; result[1][2] = 0; result[1][2] += x[0][2] * y[1][0]; result[1][2] += x[1][2] * y[1][1]; return result; } float3x3 mul(float2x3 x, float3x2 y) { float3x3 result; result[0][0] = 0; result[0][0] += x[0][0] * y[0][0]; result[0][0] += x[1][0] * y[0][1]; result[1][0] = 0; result[1][0] += x[0][0] * y[1][0]; result[1][0] += x[1][0] * y[1][1]; result[2][0] = 0; result[2][0] += x[0][0] * y[2][0]; result[2][0] += x[1][0] * y[2][1]; result[0][1] = 0; result[0][1] += x[0][1] * y[0][0]; result[0][1] += x[1][1] * y[0][1]; result[1][1] = 0; result[1][1] += x[0][1] * y[1][0]; result[1][1] += x[1][1] * y[1][1]; result[2][1] = 0; result[2][1] += x[0][1] * y[2][0]; result[2][1] += x[1][1] * y[2][1]; result[0][2] = 0; result[0][2] += x[0][2] * y[0][0]; result[0][2] += x[1][2] * y[0][1]; result[1][2] = 0; result[1][2] += x[0][2] * y[1][0]; result[1][2] += x[1][2] * y[1][1]; result[2][2] = 0; result[2][2] += x[0][2] * y[2][0]; result[2][2] += x[1][2] * y[2][1]; return result; } float4x3 mul(float2x3 x, float4x2 y) { float4x3 result; result[0][0] = 0; result[0][0] += x[0][0] * y[0][0]; result[0][0] += x[1][0] * y[0][1]; result[1][0] = 0; result[1][0] += x[0][0] * y[1][0]; result[1][0] += x[1][0] * y[1][1]; result[2][0] = 0; result[2][0] += x[0][0] * y[2][0]; result[2][0] += x[1][0] * y[2][1]; result[3][0] = 0; result[3][0] += x[0][0] * y[3][0]; result[3][0] += x[1][0] * y[3][1]; result[0][1] = 0; result[0][1] += x[0][1] * y[0][0]; result[0][1] += x[1][1] * y[0][1]; result[1][1] = 0; result[1][1] += x[0][1] * y[1][0]; result[1][1] += x[1][1] * y[1][1]; result[2][1] = 0; result[2][1] += x[0][1] * y[2][0]; result[2][1] += x[1][1] * y[2][1]; result[3][1] = 0; result[3][1] += x[0][1] * y[3][0]; result[3][1] += x[1][1] * y[3][1]; result[0][2] = 0; result[0][2] += x[0][2] * y[0][0]; result[0][2] += x[1][2] * y[0][1]; result[1][2] = 0; result[1][2] += x[0][2] * y[1][0]; result[1][2] += x[1][2] * y[1][1]; result[2][2] = 0; result[2][2] += x[0][2] * y[2][0]; result[2][2] += x[1][2] * y[2][1]; result[3][2] = 0; result[3][2] += x[0][2] * y[3][0]; result[3][2] += x[1][2] * y[3][1]; return result; } float2x3 mul(float3x3 x, float2x3 y) { float2x3 result; result[0][0] = 0; result[0][0] += x[0][0] * y[0][0]; result[0][0] += x[1][0] * y[0][1]; result[0][0] += x[2][0] * y[0][2]; result[1][0] = 0; result[1][0] += x[0][0] * y[1][0]; result[1][0] += x[1][0] * y[1][1]; result[1][0] += x[2][0] * y[1][2]; result[0][1] = 0; result[0][1] += x[0][1] * y[0][0]; result[0][1] += x[1][1] * y[0][1]; result[0][1] += x[2][1] * y[0][2]; result[1][1] = 0; result[1][1] += x[0][1] * y[1][0]; result[1][1] += x[1][1] * y[1][1]; result[1][1] += x[2][1] * y[1][2]; result[0][2] = 0; result[0][2] += x[0][2] * y[0][0]; result[0][2] += x[1][2] * y[0][1]; result[0][2] += x[2][2] * y[0][2]; result[1][2] = 0; result[1][2] += x[0][2] * y[1][0]; result[1][2] += x[1][2] * y[1][1]; result[1][2] += x[2][2] * y[1][2]; 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[1][0] * y[0][1]; result[0][0] += x[2][0] * y[0][2]; result[1][0] = 0; result[1][0] += x[0][0] * y[1][0]; result[1][0] += x[1][0] * y[1][1]; result[1][0] += x[2][0] * y[1][2]; result[2][0] = 0; result[2][0] += x[0][0] * y[2][0]; result[2][0] += x[1][0] * y[2][1]; result[2][0] += x[2][0] * y[2][2]; result[0][1] = 0; result[0][1] += x[0][1] * y[0][0]; result[0][1] += x[1][1] * y[0][1]; result[0][1] += x[2][1] * y[0][2]; result[1][1] = 0; result[1][1] += x[0][1] * y[1][0]; result[1][1] += x[1][1] * y[1][1]; result[1][1] += x[2][1] * y[1][2]; result[2][1] = 0; result[2][1] += x[0][1] * y[2][0]; result[2][1] += x[1][1] * y[2][1]; result[2][1] += x[2][1] * y[2][2]; result[0][2] = 0; result[0][2] += x[0][2] * y[0][0]; result[0][2] += x[1][2] * y[0][1]; result[0][2] += x[2][2] * y[0][2]; result[1][2] = 0; result[1][2] += x[0][2] * y[1][0]; result[1][2] += x[1][2] * y[1][1]; result[1][2] += x[2][2] * y[1][2]; result[2][2] = 0; result[2][2] += x[0][2] * y[2][0]; result[2][2] += x[1][2] * y[2][1]; result[2][2] += x[2][2] * y[2][2]; return result; } float4x3 mul(float3x3 x, float4x3 y) { float4x3 result; result[0][0] = 0; result[0][0] += x[0][0] * y[0][0]; result[0][0] += x[1][0] * y[0][1]; result[0][0] += x[2][0] * y[0][2]; result[1][0] = 0; result[1][0] += x[0][0] * y[1][0]; result[1][0] += x[1][0] * y[1][1]; result[1][0] += x[2][0] * y[1][2]; result[2][0] = 0; result[2][0] += x[0][0] * y[2][0]; result[2][0] += x[1][0] * y[2][1]; result[2][0] += x[2][0] * y[2][2]; result[3][0] = 0; result[3][0] += x[0][0] * y[3][0]; result[3][0] += x[1][0] * y[3][1]; result[3][0] += x[2][0] * y[3][2]; result[0][1] = 0; result[0][1] += x[0][1] * y[0][0]; result[0][1] += x[1][1] * y[0][1]; result[0][1] += x[2][1] * y[0][2]; result[1][1] = 0; result[1][1] += x[0][1] * y[1][0]; result[1][1] += x[1][1] * y[1][1]; result[1][1] += x[2][1] * y[1][2]; result[2][1] = 0; result[2][1] += x[0][1] * y[2][0]; result[2][1] += x[1][1] * y[2][1]; result[2][1] += x[2][1] * y[2][2]; result[3][1] = 0; result[3][1] += x[0][1] * y[3][0]; result[3][1] += x[1][1] * y[3][1]; result[3][1] += x[2][1] * y[3][2]; result[0][2] = 0; result[0][2] += x[0][2] * y[0][0]; result[0][2] += x[1][2] * y[0][1]; result[0][2] += x[2][2] * y[0][2]; result[1][2] = 0; result[1][2] += x[0][2] * y[1][0]; result[1][2] += x[1][2] * y[1][1]; result[1][2] += x[2][2] * y[1][2]; result[2][2] = 0; result[2][2] += x[0][2] * y[2][0]; result[2][2] += x[1][2] * y[2][1]; result[2][2] += x[2][2] * y[2][2]; result[3][2] = 0; result[3][2] += x[0][2] * y[3][0]; result[3][2] += x[1][2] * y[3][1]; result[3][2] += x[2][2] * y[3][2]; return result; } float2x3 mul(float4x3 x, float2x4 y) { float2x3 result; result[0][0] = 0; result[0][0] += x[0][0] * y[0][0]; result[0][0] += x[1][0] * y[0][1]; result[0][0] += x[2][0] * y[0][2]; result[0][0] += x[3][0] * y[0][3]; result[1][0] = 0; result[1][0] += x[0][0] * y[1][0]; result[1][0] += x[1][0] * y[1][1]; result[1][0] += x[2][0] * y[1][2]; result[1][0] += x[3][0] * y[1][3]; result[0][1] = 0; result[0][1] += x[0][1] * y[0][0]; result[0][1] += x[1][1] * y[0][1]; result[0][1] += x[2][1] * y[0][2]; result[0][1] += x[3][1] * y[0][3]; result[1][1] = 0; result[1][1] += x[0][1] * y[1][0]; result[1][1] += x[1][1] * y[1][1]; result[1][1] += x[2][1] * y[1][2]; result[1][1] += x[3][1] * y[1][3]; result[0][2] = 0; result[0][2] += x[0][2] * y[0][0]; result[0][2] += x[1][2] * y[0][1]; result[0][2] += x[2][2] * y[0][2]; result[0][2] += x[3][2] * y[0][3]; result[1][2] = 0; result[1][2] += x[0][2] * y[1][0]; result[1][2] += x[1][2] * y[1][1]; result[1][2] += x[2][2] * y[1][2]; result[1][2] += x[3][2] * y[1][3]; return result; } float3x3 mul(float4x3 x, float3x4 y) { float3x3 result; result[0][0] = 0; result[0][0] += x[0][0] * y[0][0]; result[0][0] += x[1][0] * y[0][1]; result[0][0] += x[2][0] * y[0][2]; result[0][0] += x[3][0] * y[0][3]; result[1][0] = 0; result[1][0] += x[0][0] * y[1][0]; result[1][0] += x[1][0] * y[1][1]; result[1][0] += x[2][0] * y[1][2]; result[1][0] += x[3][0] * y[1][3]; result[2][0] = 0; result[2][0] += x[0][0] * y[2][0]; result[2][0] += x[1][0] * y[2][1]; result[2][0] += x[2][0] * y[2][2]; result[2][0] += x[3][0] * y[2][3]; result[0][1] = 0; result[0][1] += x[0][1] * y[0][0]; result[0][1] += x[1][1] * y[0][1]; result[0][1] += x[2][1] * y[0][2]; result[0][1] += x[3][1] * y[0][3]; result[1][1] = 0; result[1][1] += x[0][1] * y[1][0]; result[1][1] += x[1][1] * y[1][1]; result[1][1] += x[2][1] * y[1][2]; result[1][1] += x[3][1] * y[1][3]; result[2][1] = 0; result[2][1] += x[0][1] * y[2][0]; result[2][1] += x[1][1] * y[2][1]; result[2][1] += x[2][1] * y[2][2]; result[2][1] += x[3][1] * y[2][3]; result[0][2] = 0; result[0][2] += x[0][2] * y[0][0]; result[0][2] += x[1][2] * y[0][1]; result[0][2] += x[2][2] * y[0][2]; result[0][2] += x[3][2] * y[0][3]; result[1][2] = 0; result[1][2] += x[0][2] * y[1][0]; result[1][2] += x[1][2] * y[1][1]; result[1][2] += x[2][2] * y[1][2]; result[1][2] += x[3][2] * y[1][3]; result[2][2] = 0; result[2][2] += x[0][2] * y[2][0]; result[2][2] += x[1][2] * y[2][1]; result[2][2] += x[2][2] * y[2][2]; result[2][2] += x[3][2] * y[2][3]; return result; } float4x3 mul(float4x3 x, float4x4 y) { float4x3 result; result[0][0] = 0; result[0][0] += x[0][0] * y[0][0]; result[0][0] += x[1][0] * y[0][1]; result[0][0] += x[2][0] * y[0][2]; result[0][0] += x[3][0] * y[0][3]; result[1][0] = 0; result[1][0] += x[0][0] * y[1][0]; result[1][0] += x[1][0] * y[1][1]; result[1][0] += x[2][0] * y[1][2]; result[1][0] += x[3][0] * y[1][3]; result[2][0] = 0; result[2][0] += x[0][0] * y[2][0]; result[2][0] += x[1][0] * y[2][1]; result[2][0] += x[2][0] * y[2][2]; result[2][0] += x[3][0] * y[2][3]; result[3][0] = 0; result[3][0] += x[0][0] * y[3][0]; result[3][0] += x[1][0] * y[3][1]; result[3][0] += x[2][0] * y[3][2]; result[3][0] += x[3][0] * y[3][3]; result[0][1] = 0; result[0][1] += x[0][1] * y[0][0]; result[0][1] += x[1][1] * y[0][1]; result[0][1] += x[2][1] * y[0][2]; result[0][1] += x[3][1] * y[0][3]; result[1][1] = 0; result[1][1] += x[0][1] * y[1][0]; result[1][1] += x[1][1] * y[1][1]; result[1][1] += x[2][1] * y[1][2]; result[1][1] += x[3][1] * y[1][3]; result[2][1] = 0; result[2][1] += x[0][1] * y[2][0]; result[2][1] += x[1][1] * y[2][1]; result[2][1] += x[2][1] * y[2][2]; result[2][1] += x[3][1] * y[2][3]; result[3][1] = 0; result[3][1] += x[0][1] * y[3][0]; result[3][1] += x[1][1] * y[3][1]; result[3][1] += x[2][1] * y[3][2]; result[3][1] += x[3][1] * y[3][3]; result[0][2] = 0; result[0][2] += x[0][2] * y[0][0]; result[0][2] += x[1][2] * y[0][1]; result[0][2] += x[2][2] * y[0][2]; result[0][2] += x[3][2] * y[0][3]; result[1][2] = 0; result[1][2] += x[0][2] * y[1][0]; result[1][2] += x[1][2] * y[1][1]; result[1][2] += x[2][2] * y[1][2]; result[1][2] += x[3][2] * y[1][3]; result[2][2] = 0; result[2][2] += x[0][2] * y[2][0]; result[2][2] += x[1][2] * y[2][1]; result[2][2] += x[2][2] * y[2][2]; result[2][2] += x[3][2] * y[2][3]; result[3][2] = 0; result[3][2] += x[0][2] * y[3][0]; result[3][2] += x[1][2] * y[3][1]; result[3][2] += x[2][2] * y[3][2]; result[3][2] += x[3][2] * y[3][3]; return result; } float2x4 mul(float2x4 x, float2x2 y) { float2x4 result; result[0][0] = 0; result[0][0] += x[0][0] * y[0][0]; result[0][0] += x[1][0] * y[0][1]; result[1][0] = 0; result[1][0] += x[0][0] * y[1][0]; result[1][0] += x[1][0] * y[1][1]; result[0][1] = 0; result[0][1] += x[0][1] * y[0][0]; result[0][1] += x[1][1] * y[0][1]; result[1][1] = 0; result[1][1] += x[0][1] * y[1][0]; result[1][1] += x[1][1] * y[1][1]; result[0][2] = 0; result[0][2] += x[0][2] * y[0][0]; result[0][2] += x[1][2] * y[0][1]; result[1][2] = 0; result[1][2] += x[0][2] * y[1][0]; result[1][2] += x[1][2] * y[1][1]; result[0][3] = 0; result[0][3] += x[0][3] * y[0][0]; result[0][3] += x[1][3] * y[0][1]; result[1][3] = 0; result[1][3] += x[0][3] * y[1][0]; result[1][3] += x[1][3] * y[1][1]; return result; } float3x4 mul(float2x4 x, float3x2 y) { float3x4 result; result[0][0] = 0; result[0][0] += x[0][0] * y[0][0]; result[0][0] += x[1][0] * y[0][1]; result[1][0] = 0; result[1][0] += x[0][0] * y[1][0]; result[1][0] += x[1][0] * y[1][1]; result[2][0] = 0; result[2][0] += x[0][0] * y[2][0]; result[2][0] += x[1][0] * y[2][1]; result[0][1] = 0; result[0][1] += x[0][1] * y[0][0]; result[0][1] += x[1][1] * y[0][1]; result[1][1] = 0; result[1][1] += x[0][1] * y[1][0]; result[1][1] += x[1][1] * y[1][1]; result[2][1] = 0; result[2][1] += x[0][1] * y[2][0]; result[2][1] += x[1][1] * y[2][1]; result[0][2] = 0; result[0][2] += x[0][2] * y[0][0]; result[0][2] += x[1][2] * y[0][1]; result[1][2] = 0; result[1][2] += x[0][2] * y[1][0]; result[1][2] += x[1][2] * y[1][1]; result[2][2] = 0; result[2][2] += x[0][2] * y[2][0]; result[2][2] += x[1][2] * y[2][1]; result[0][3] = 0; result[0][3] += x[0][3] * y[0][0]; result[0][3] += x[1][3] * y[0][1]; result[1][3] = 0; result[1][3] += x[0][3] * y[1][0]; result[1][3] += x[1][3] * y[1][1]; result[2][3] = 0; result[2][3] += x[0][3] * y[2][0]; result[2][3] += x[1][3] * y[2][1]; return result; } float4x4 mul(float2x4 x, float4x2 y) { float4x4 result; result[0][0] = 0; result[0][0] += x[0][0] * y[0][0]; result[0][0] += x[1][0] * y[0][1]; result[1][0] = 0; result[1][0] += x[0][0] * y[1][0]; result[1][0] += x[1][0] * y[1][1]; result[2][0] = 0; result[2][0] += x[0][0] * y[2][0]; result[2][0] += x[1][0] * y[2][1]; result[3][0] = 0; result[3][0] += x[0][0] * y[3][0]; result[3][0] += x[1][0] * y[3][1]; result[0][1] = 0; result[0][1] += x[0][1] * y[0][0]; result[0][1] += x[1][1] * y[0][1]; result[1][1] = 0; result[1][1] += x[0][1] * y[1][0]; result[1][1] += x[1][1] * y[1][1]; result[2][1] = 0; result[2][1] += x[0][1] * y[2][0]; result[2][1] += x[1][1] * y[2][1]; result[3][1] = 0; result[3][1] += x[0][1] * y[3][0]; result[3][1] += x[1][1] * y[3][1]; result[0][2] = 0; result[0][2] += x[0][2] * y[0][0]; result[0][2] += x[1][2] * y[0][1]; result[1][2] = 0; result[1][2] += x[0][2] * y[1][0]; result[1][2] += x[1][2] * y[1][1]; result[2][2] = 0; result[2][2] += x[0][2] * y[2][0]; result[2][2] += x[1][2] * y[2][1]; result[3][2] = 0; result[3][2] += x[0][2] * y[3][0]; result[3][2] += x[1][2] * y[3][1]; result[0][3] = 0; result[0][3] += x[0][3] * y[0][0]; result[0][3] += x[1][3] * y[0][1]; result[1][3] = 0; result[1][3] += x[0][3] * y[1][0]; result[1][3] += x[1][3] * y[1][1]; result[2][3] = 0; result[2][3] += x[0][3] * y[2][0]; result[2][3] += x[1][3] * y[2][1]; result[3][3] = 0; result[3][3] += x[0][3] * y[3][0]; result[3][3] += x[1][3] * y[3][1]; return result; } float2x4 mul(float3x4 x, float2x3 y) { float2x4 result; result[0][0] = 0; result[0][0] += x[0][0] * y[0][0]; result[0][0] += x[1][0] * y[0][1]; result[0][0] += x[2][0] * y[0][2]; result[1][0] = 0; result[1][0] += x[0][0] * y[1][0]; result[1][0] += x[1][0] * y[1][1]; result[1][0] += x[2][0] * y[1][2]; result[0][1] = 0; result[0][1] += x[0][1] * y[0][0]; result[0][1] += x[1][1] * y[0][1]; result[0][1] += x[2][1] * y[0][2]; result[1][1] = 0; result[1][1] += x[0][1] * y[1][0]; result[1][1] += x[1][1] * y[1][1]; result[1][1] += x[2][1] * y[1][2]; result[0][2] = 0; result[0][2] += x[0][2] * y[0][0]; result[0][2] += x[1][2] * y[0][1]; result[0][2] += x[2][2] * y[0][2]; result[1][2] = 0; result[1][2] += x[0][2] * y[1][0]; result[1][2] += x[1][2] * y[1][1]; result[1][2] += x[2][2] * y[1][2]; result[0][3] = 0; result[0][3] += x[0][3] * y[0][0]; result[0][3] += x[1][3] * y[0][1]; result[0][3] += x[2][3] * y[0][2]; result[1][3] = 0; result[1][3] += x[0][3] * y[1][0]; result[1][3] += x[1][3] * y[1][1]; result[1][3] += x[2][3] * y[1][2]; return result; } float3x4 mul(float3x4 x, float3x3 y) { float3x4 result; result[0][0] = 0; result[0][0] += x[0][0] * y[0][0]; result[0][0] += x[1][0] * y[0][1]; result[0][0] += x[2][0] * y[0][2]; result[1][0] = 0; result[1][0] += x[0][0] * y[1][0]; result[1][0] += x[1][0] * y[1][1]; result[1][0] += x[2][0] * y[1][2]; result[2][0] = 0; result[2][0] += x[0][0] * y[2][0]; result[2][0] += x[1][0] * y[2][1]; result[2][0] += x[2][0] * y[2][2]; result[0][1] = 0; result[0][1] += x[0][1] * y[0][0]; result[0][1] += x[1][1] * y[0][1]; result[0][1] += x[2][1] * y[0][2]; result[1][1] = 0; result[1][1] += x[0][1] * y[1][0]; result[1][1] += x[1][1] * y[1][1]; result[1][1] += x[2][1] * y[1][2]; result[2][1] = 0; result[2][1] += x[0][1] * y[2][0]; result[2][1] += x[1][1] * y[2][1]; result[2][1] += x[2][1] * y[2][2]; result[0][2] = 0; result[0][2] += x[0][2] * y[0][0]; result[0][2] += x[1][2] * y[0][1]; result[0][2] += x[2][2] * y[0][2]; result[1][2] = 0; result[1][2] += x[0][2] * y[1][0]; result[1][2] += x[1][2] * y[1][1]; result[1][2] += x[2][2] * y[1][2]; result[2][2] = 0; result[2][2] += x[0][2] * y[2][0]; result[2][2] += x[1][2] * y[2][1]; result[2][2] += x[2][2] * y[2][2]; result[0][3] = 0; result[0][3] += x[0][3] * y[0][0]; result[0][3] += x[1][3] * y[0][1]; result[0][3] += x[2][3] * y[0][2]; result[1][3] = 0; result[1][3] += x[0][3] * y[1][0]; result[1][3] += x[1][3] * y[1][1]; result[1][3] += x[2][3] * y[1][2]; result[2][3] = 0; result[2][3] += x[0][3] * y[2][0]; result[2][3] += x[1][3] * y[2][1]; result[2][3] += x[2][3] * y[2][2]; return result; } float4x4 mul(float3x4 x, float4x3 y) { float4x4 result; result[0][0] = 0; result[0][0] += x[0][0] * y[0][0]; result[0][0] += x[1][0] * y[0][1]; result[0][0] += x[2][0] * y[0][2]; result[1][0] = 0; result[1][0] += x[0][0] * y[1][0]; result[1][0] += x[1][0] * y[1][1]; result[1][0] += x[2][0] * y[1][2]; result[2][0] = 0; result[2][0] += x[0][0] * y[2][0]; result[2][0] += x[1][0] * y[2][1]; result[2][0] += x[2][0] * y[2][2]; result[3][0] = 0; result[3][0] += x[0][0] * y[3][0]; result[3][0] += x[1][0] * y[3][1]; result[3][0] += x[2][0] * y[3][2]; result[0][1] = 0; result[0][1] += x[0][1] * y[0][0]; result[0][1] += x[1][1] * y[0][1]; result[0][1] += x[2][1] * y[0][2]; result[1][1] = 0; result[1][1] += x[0][1] * y[1][0]; result[1][1] += x[1][1] * y[1][1]; result[1][1] += x[2][1] * y[1][2]; result[2][1] = 0; result[2][1] += x[0][1] * y[2][0]; result[2][1] += x[1][1] * y[2][1]; result[2][1] += x[2][1] * y[2][2]; result[3][1] = 0; result[3][1] += x[0][1] * y[3][0]; result[3][1] += x[1][1] * y[3][1]; result[3][1] += x[2][1] * y[3][2]; result[0][2] = 0; result[0][2] += x[0][2] * y[0][0]; result[0][2] += x[1][2] * y[0][1]; result[0][2] += x[2][2] * y[0][2]; result[1][2] = 0; result[1][2] += x[0][2] * y[1][0]; result[1][2] += x[1][2] * y[1][1]; result[1][2] += x[2][2] * y[1][2]; result[2][2] = 0; result[2][2] += x[0][2] * y[2][0]; result[2][2] += x[1][2] * y[2][1]; result[2][2] += x[2][2] * y[2][2]; result[3][2] = 0; result[3][2] += x[0][2] * y[3][0]; result[3][2] += x[1][2] * y[3][1]; result[3][2] += x[2][2] * y[3][2]; result[0][3] = 0; result[0][3] += x[0][3] * y[0][0]; result[0][3] += x[1][3] * y[0][1]; result[0][3] += x[2][3] * y[0][2]; result[1][3] = 0; result[1][3] += x[0][3] * y[1][0]; result[1][3] += x[1][3] * y[1][1]; result[1][3] += x[2][3] * y[1][2]; result[2][3] = 0; result[2][3] += x[0][3] * y[2][0]; result[2][3] += x[1][3] * y[2][1]; result[2][3] += x[2][3] * y[2][2]; result[3][3] = 0; result[3][3] += x[0][3] * y[3][0]; result[3][3] += x[1][3] * y[3][1]; result[3][3] += x[2][3] * y[3][2]; return result; } float2x4 mul(float4x4 x, float2x4 y) { float2x4 result; result[0][0] = 0; result[0][0] += x[0][0] * y[0][0]; result[0][0] += x[1][0] * y[0][1]; result[0][0] += x[2][0] * y[0][2]; result[0][0] += x[3][0] * y[0][3]; result[1][0] = 0; result[1][0] += x[0][0] * y[1][0]; result[1][0] += x[1][0] * y[1][1]; result[1][0] += x[2][0] * y[1][2]; result[1][0] += x[3][0] * y[1][3]; result[0][1] = 0; result[0][1] += x[0][1] * y[0][0]; result[0][1] += x[1][1] * y[0][1]; result[0][1] += x[2][1] * y[0][2]; result[0][1] += x[3][1] * y[0][3]; result[1][1] = 0; result[1][1] += x[0][1] * y[1][0]; result[1][1] += x[1][1] * y[1][1]; result[1][1] += x[2][1] * y[1][2]; result[1][1] += x[3][1] * y[1][3]; result[0][2] = 0; result[0][2] += x[0][2] * y[0][0]; result[0][2] += x[1][2] * y[0][1]; result[0][2] += x[2][2] * y[0][2]; result[0][2] += x[3][2] * y[0][3]; result[1][2] = 0; result[1][2] += x[0][2] * y[1][0]; result[1][2] += x[1][2] * y[1][1]; result[1][2] += x[2][2] * y[1][2]; result[1][2] += x[3][2] * y[1][3]; result[0][3] = 0; result[0][3] += x[0][3] * y[0][0]; result[0][3] += x[1][3] * y[0][1]; result[0][3] += x[2][3] * y[0][2]; result[0][3] += x[3][3] * y[0][3]; result[1][3] = 0; result[1][3] += x[0][3] * y[1][0]; result[1][3] += x[1][3] * y[1][1]; result[1][3] += x[2][3] * y[1][2]; result[1][3] += x[3][3] * y[1][3]; return result; } float3x4 mul(float4x4 x, float3x4 y) { float3x4 result; result[0][0] = 0; result[0][0] += x[0][0] * y[0][0]; result[0][0] += x[1][0] * y[0][1]; result[0][0] += x[2][0] * y[0][2]; result[0][0] += x[3][0] * y[0][3]; result[1][0] = 0; result[1][0] += x[0][0] * y[1][0]; result[1][0] += x[1][0] * y[1][1]; result[1][0] += x[2][0] * y[1][2]; result[1][0] += x[3][0] * y[1][3]; result[2][0] = 0; result[2][0] += x[0][0] * y[2][0]; result[2][0] += x[1][0] * y[2][1]; result[2][0] += x[2][0] * y[2][2]; result[2][0] += x[3][0] * y[2][3]; result[0][1] = 0; result[0][1] += x[0][1] * y[0][0]; result[0][1] += x[1][1] * y[0][1]; result[0][1] += x[2][1] * y[0][2]; result[0][1] += x[3][1] * y[0][3]; result[1][1] = 0; result[1][1] += x[0][1] * y[1][0]; result[1][1] += x[1][1] * y[1][1]; result[1][1] += x[2][1] * y[1][2]; result[1][1] += x[3][1] * y[1][3]; result[2][1] = 0; result[2][1] += x[0][1] * y[2][0]; result[2][1] += x[1][1] * y[2][1]; result[2][1] += x[2][1] * y[2][2]; result[2][1] += x[3][1] * y[2][3]; result[0][2] = 0; result[0][2] += x[0][2] * y[0][0]; result[0][2] += x[1][2] * y[0][1]; result[0][2] += x[2][2] * y[0][2]; result[0][2] += x[3][2] * y[0][3]; result[1][2] = 0; result[1][2] += x[0][2] * y[1][0]; result[1][2] += x[1][2] * y[1][1]; result[1][2] += x[2][2] * y[1][2]; result[1][2] += x[3][2] * y[1][3]; result[2][2] = 0; result[2][2] += x[0][2] * y[2][0]; result[2][2] += x[1][2] * y[2][1]; result[2][2] += x[2][2] * y[2][2]; result[2][2] += x[3][2] * y[2][3]; result[0][3] = 0; result[0][3] += x[0][3] * y[0][0]; result[0][3] += x[1][3] * y[0][1]; result[0][3] += x[2][3] * y[0][2]; result[0][3] += x[3][3] * y[0][3]; result[1][3] = 0; result[1][3] += x[0][3] * y[1][0]; result[1][3] += x[1][3] * y[1][1]; result[1][3] += x[2][3] * y[1][2]; result[1][3] += x[3][3] * y[1][3]; result[2][3] = 0; result[2][3] += x[0][3] * y[2][0]; result[2][3] += x[1][3] * y[2][1]; result[2][3] += x[2][3] * y[2][2]; result[2][3] += x[3][3] * y[2][3]; 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[1][0] * y[0][1]; result[0][0] += x[2][0] * y[0][2]; result[0][0] += x[3][0] * y[0][3]; result[1][0] = 0; result[1][0] += x[0][0] * y[1][0]; result[1][0] += x[1][0] * y[1][1]; result[1][0] += x[2][0] * y[1][2]; result[1][0] += x[3][0] * y[1][3]; result[2][0] = 0; result[2][0] += x[0][0] * y[2][0]; result[2][0] += x[1][0] * y[2][1]; result[2][0] += x[2][0] * y[2][2]; result[2][0] += x[3][0] * y[2][3]; result[3][0] = 0; result[3][0] += x[0][0] * y[3][0]; result[3][0] += x[1][0] * y[3][1]; result[3][0] += x[2][0] * y[3][2]; result[3][0] += x[3][0] * y[3][3]; result[0][1] = 0; result[0][1] += x[0][1] * y[0][0]; result[0][1] += x[1][1] * y[0][1]; result[0][1] += x[2][1] * y[0][2]; result[0][1] += x[3][1] * y[0][3]; result[1][1] = 0; result[1][1] += x[0][1] * y[1][0]; result[1][1] += x[1][1] * y[1][1]; result[1][1] += x[2][1] * y[1][2]; result[1][1] += x[3][1] * y[1][3]; result[2][1] = 0; result[2][1] += x[0][1] * y[2][0]; result[2][1] += x[1][1] * y[2][1]; result[2][1] += x[2][1] * y[2][2]; result[2][1] += x[3][1] * y[2][3]; result[3][1] = 0; result[3][1] += x[0][1] * y[3][0]; result[3][1] += x[1][1] * y[3][1]; result[3][1] += x[2][1] * y[3][2]; result[3][1] += x[3][1] * y[3][3]; result[0][2] = 0; result[0][2] += x[0][2] * y[0][0]; result[0][2] += x[1][2] * y[0][1]; result[0][2] += x[2][2] * y[0][2]; result[0][2] += x[3][2] * y[0][3]; result[1][2] = 0; result[1][2] += x[0][2] * y[1][0]; result[1][2] += x[1][2] * y[1][1]; result[1][2] += x[2][2] * y[1][2]; result[1][2] += x[3][2] * y[1][3]; result[2][2] = 0; result[2][2] += x[0][2] * y[2][0]; result[2][2] += x[1][2] * y[2][1]; result[2][2] += x[2][2] * y[2][2]; result[2][2] += x[3][2] * y[2][3]; result[3][2] = 0; result[3][2] += x[0][2] * y[3][0]; result[3][2] += x[1][2] * y[3][1]; result[3][2] += x[2][2] * y[3][2]; result[3][2] += x[3][2] * y[3][3]; result[0][3] = 0; result[0][3] += x[0][3] * y[0][0]; result[0][3] += x[1][3] * y[0][1]; result[0][3] += x[2][3] * y[0][2]; result[0][3] += x[3][3] * y[0][3]; result[1][3] = 0; result[1][3] += x[0][3] * y[1][0]; result[1][3] += x[1][3] * y[1][1]; result[1][3] += x[2][3] * y[1][2]; result[1][3] += x[3][3] * y[1][3]; result[2][3] = 0; result[2][3] += x[0][3] * y[2][0]; result[2][3] += x[1][3] * y[2][1]; result[2][3] += x[2][3] * y[2][2]; result[2][3] += x[3][3] * y[2][3]; result[3][3] = 0; result[3][3] += x[0][3] * y[3][0]; result[3][3] += x[1][3] * y[3][1]; result[3][3] += x[2][3] * y[3][2]; result[3][3] += x[3][3] * y[3][3]; 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[1][0] = radians(x[1][0]); result[0][1] = radians(x[0][1]); result[1][1] = radians(x[1][1]); return result; } float3x2 radians(float3x2 x) { float3x2 result; result[0][0] = radians(x[0][0]); result[1][0] = radians(x[1][0]); result[2][0] = radians(x[2][0]); result[0][1] = radians(x[0][1]); result[1][1] = radians(x[1][1]); result[2][1] = radians(x[2][1]); return result; } float4x2 radians(float4x2 x) { float4x2 result; result[0][0] = radians(x[0][0]); result[1][0] = radians(x[1][0]); result[2][0] = radians(x[2][0]); result[3][0] = radians(x[3][0]); result[0][1] = radians(x[0][1]); result[1][1] = radians(x[1][1]); result[2][1] = radians(x[2][1]); result[3][1] = radians(x[3][1]); return result; } float2x3 radians(float2x3 x) { float2x3 result; result[0][0] = radians(x[0][0]); result[1][0] = radians(x[1][0]); result[0][1] = radians(x[0][1]); result[1][1] = radians(x[1][1]); result[0][2] = radians(x[0][2]); result[1][2] = radians(x[1][2]); return result; } float3x3 radians(float3x3 x) { float3x3 result; result[0][0] = radians(x[0][0]); result[1][0] = radians(x[1][0]); result[2][0] = radians(x[2][0]); result[0][1] = radians(x[0][1]); result[1][1] = radians(x[1][1]); result[2][1] = radians(x[2][1]); result[0][2] = radians(x[0][2]); result[1][2] = radians(x[1][2]); result[2][2] = radians(x[2][2]); return result; } float4x3 radians(float4x3 x) { float4x3 result; result[0][0] = radians(x[0][0]); result[1][0] = radians(x[1][0]); result[2][0] = radians(x[2][0]); result[3][0] = radians(x[3][0]); result[0][1] = radians(x[0][1]); result[1][1] = radians(x[1][1]); result[2][1] = radians(x[2][1]); result[3][1] = radians(x[3][1]); result[0][2] = radians(x[0][2]); result[1][2] = radians(x[1][2]); result[2][2] = radians(x[2][2]); result[3][2] = radians(x[3][2]); return result; } float2x4 radians(float2x4 x) { float2x4 result; result[0][0] = radians(x[0][0]); result[1][0] = radians(x[1][0]); result[0][1] = radians(x[0][1]); result[1][1] = radians(x[1][1]); result[0][2] = radians(x[0][2]); result[1][2] = radians(x[1][2]); result[0][3] = radians(x[0][3]); result[1][3] = radians(x[1][3]); return result; } float3x4 radians(float3x4 x) { float3x4 result; result[0][0] = radians(x[0][0]); result[1][0] = radians(x[1][0]); result[2][0] = radians(x[2][0]); result[0][1] = radians(x[0][1]); result[1][1] = radians(x[1][1]); result[2][1] = radians(x[2][1]); result[0][2] = radians(x[0][2]); result[1][2] = radians(x[1][2]); result[2][2] = radians(x[2][2]); result[0][3] = radians(x[0][3]); result[1][3] = radians(x[1][3]); result[2][3] = radians(x[2][3]); return result; } float4x4 radians(float4x4 x) { float4x4 result; result[0][0] = radians(x[0][0]); result[1][0] = radians(x[1][0]); result[2][0] = radians(x[2][0]); result[3][0] = radians(x[3][0]); result[0][1] = radians(x[0][1]); result[1][1] = radians(x[1][1]); result[2][1] = radians(x[2][1]); result[3][1] = radians(x[3][1]); result[0][2] = radians(x[0][2]); result[1][2] = radians(x[1][2]); result[2][2] = radians(x[2][2]); result[3][2] = radians(x[3][2]); result[0][3] = radians(x[0][3]); result[1][3] = radians(x[1][3]); result[2][3] = radians(x[2][3]); result[3][3] = radians(x[3][3]); 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[1][0] = ceil(x[1][0]); result[0][1] = ceil(x[0][1]); result[1][1] = ceil(x[1][1]); return result; } float3x2 ceil(float3x2 x) { float3x2 result; result[0][0] = ceil(x[0][0]); result[1][0] = ceil(x[1][0]); result[2][0] = ceil(x[2][0]); result[0][1] = ceil(x[0][1]); result[1][1] = ceil(x[1][1]); result[2][1] = ceil(x[2][1]); return result; } float4x2 ceil(float4x2 x) { float4x2 result; result[0][0] = ceil(x[0][0]); result[1][0] = ceil(x[1][0]); result[2][0] = ceil(x[2][0]); result[3][0] = ceil(x[3][0]); result[0][1] = ceil(x[0][1]); result[1][1] = ceil(x[1][1]); result[2][1] = ceil(x[2][1]); result[3][1] = ceil(x[3][1]); return result; } float2x3 ceil(float2x3 x) { float2x3 result; result[0][0] = ceil(x[0][0]); result[1][0] = ceil(x[1][0]); result[0][1] = ceil(x[0][1]); result[1][1] = ceil(x[1][1]); result[0][2] = ceil(x[0][2]); result[1][2] = ceil(x[1][2]); return result; } float3x3 ceil(float3x3 x) { float3x3 result; result[0][0] = ceil(x[0][0]); result[1][0] = ceil(x[1][0]); result[2][0] = ceil(x[2][0]); result[0][1] = ceil(x[0][1]); result[1][1] = ceil(x[1][1]); result[2][1] = ceil(x[2][1]); result[0][2] = ceil(x[0][2]); result[1][2] = ceil(x[1][2]); result[2][2] = ceil(x[2][2]); return result; } float4x3 ceil(float4x3 x) { float4x3 result; result[0][0] = ceil(x[0][0]); result[1][0] = ceil(x[1][0]); result[2][0] = ceil(x[2][0]); result[3][0] = ceil(x[3][0]); result[0][1] = ceil(x[0][1]); result[1][1] = ceil(x[1][1]); result[2][1] = ceil(x[2][1]); result[3][1] = ceil(x[3][1]); result[0][2] = ceil(x[0][2]); result[1][2] = ceil(x[1][2]); result[2][2] = ceil(x[2][2]); result[3][2] = ceil(x[3][2]); return result; } float2x4 ceil(float2x4 x) { float2x4 result; result[0][0] = ceil(x[0][0]); result[1][0] = ceil(x[1][0]); result[0][1] = ceil(x[0][1]); result[1][1] = ceil(x[1][1]); result[0][2] = ceil(x[0][2]); result[1][2] = ceil(x[1][2]); result[0][3] = ceil(x[0][3]); result[1][3] = ceil(x[1][3]); return result; } float3x4 ceil(float3x4 x) { float3x4 result; result[0][0] = ceil(x[0][0]); result[1][0] = ceil(x[1][0]); result[2][0] = ceil(x[2][0]); result[0][1] = ceil(x[0][1]); result[1][1] = ceil(x[1][1]); result[2][1] = ceil(x[2][1]); result[0][2] = ceil(x[0][2]); result[1][2] = ceil(x[1][2]); result[2][2] = ceil(x[2][2]); result[0][3] = ceil(x[0][3]); result[1][3] = ceil(x[1][3]); result[2][3] = ceil(x[2][3]); return result; } float4x4 ceil(float4x4 x) { float4x4 result; result[0][0] = ceil(x[0][0]); result[1][0] = ceil(x[1][0]); result[2][0] = ceil(x[2][0]); result[3][0] = ceil(x[3][0]); result[0][1] = ceil(x[0][1]); result[1][1] = ceil(x[1][1]); result[2][1] = ceil(x[2][1]); result[3][1] = ceil(x[3][1]); result[0][2] = ceil(x[0][2]); result[1][2] = ceil(x[1][2]); result[2][2] = ceil(x[2][2]); result[3][2] = ceil(x[3][2]); result[0][3] = ceil(x[0][3]); result[1][3] = ceil(x[1][3]); result[2][3] = ceil(x[2][3]); result[3][3] = ceil(x[3][3]); 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[1][0] = asin(x[1][0]); result[0][1] = asin(x[0][1]); result[1][1] = asin(x[1][1]); return result; } float3x2 asin(float3x2 x) { float3x2 result; result[0][0] = asin(x[0][0]); result[1][0] = asin(x[1][0]); result[2][0] = asin(x[2][0]); result[0][1] = asin(x[0][1]); result[1][1] = asin(x[1][1]); result[2][1] = asin(x[2][1]); return result; } float4x2 asin(float4x2 x) { float4x2 result; result[0][0] = asin(x[0][0]); result[1][0] = asin(x[1][0]); result[2][0] = asin(x[2][0]); result[3][0] = asin(x[3][0]); result[0][1] = asin(x[0][1]); result[1][1] = asin(x[1][1]); result[2][1] = asin(x[2][1]); result[3][1] = asin(x[3][1]); return result; } float2x3 asin(float2x3 x) { float2x3 result; result[0][0] = asin(x[0][0]); result[1][0] = asin(x[1][0]); result[0][1] = asin(x[0][1]); result[1][1] = asin(x[1][1]); result[0][2] = asin(x[0][2]); result[1][2] = asin(x[1][2]); return result; } float3x3 asin(float3x3 x) { float3x3 result; result[0][0] = asin(x[0][0]); result[1][0] = asin(x[1][0]); result[2][0] = asin(x[2][0]); result[0][1] = asin(x[0][1]); result[1][1] = asin(x[1][1]); result[2][1] = asin(x[2][1]); result[0][2] = asin(x[0][2]); result[1][2] = asin(x[1][2]); result[2][2] = asin(x[2][2]); return result; } float4x3 asin(float4x3 x) { float4x3 result; result[0][0] = asin(x[0][0]); result[1][0] = asin(x[1][0]); result[2][0] = asin(x[2][0]); result[3][0] = asin(x[3][0]); result[0][1] = asin(x[0][1]); result[1][1] = asin(x[1][1]); result[2][1] = asin(x[2][1]); result[3][1] = asin(x[3][1]); result[0][2] = asin(x[0][2]); result[1][2] = asin(x[1][2]); result[2][2] = asin(x[2][2]); result[3][2] = asin(x[3][2]); return result; } float2x4 asin(float2x4 x) { float2x4 result; result[0][0] = asin(x[0][0]); result[1][0] = asin(x[1][0]); result[0][1] = asin(x[0][1]); result[1][1] = asin(x[1][1]); result[0][2] = asin(x[0][2]); result[1][2] = asin(x[1][2]); result[0][3] = asin(x[0][3]); result[1][3] = asin(x[1][3]); return result; } float3x4 asin(float3x4 x) { float3x4 result; result[0][0] = asin(x[0][0]); result[1][0] = asin(x[1][0]); result[2][0] = asin(x[2][0]); result[0][1] = asin(x[0][1]); result[1][1] = asin(x[1][1]); result[2][1] = asin(x[2][1]); result[0][2] = asin(x[0][2]); result[1][2] = asin(x[1][2]); result[2][2] = asin(x[2][2]); result[0][3] = asin(x[0][3]); result[1][3] = asin(x[1][3]); result[2][3] = asin(x[2][3]); return result; } float4x4 asin(float4x4 x) { float4x4 result; result[0][0] = asin(x[0][0]); result[1][0] = asin(x[1][0]); result[2][0] = asin(x[2][0]); result[3][0] = asin(x[3][0]); result[0][1] = asin(x[0][1]); result[1][1] = asin(x[1][1]); result[2][1] = asin(x[2][1]); result[3][1] = asin(x[3][1]); result[0][2] = asin(x[0][2]); result[1][2] = asin(x[1][2]); result[2][2] = asin(x[2][2]); result[3][2] = asin(x[3][2]); result[0][3] = asin(x[0][3]); result[1][3] = asin(x[1][3]); result[2][3] = asin(x[2][3]); result[3][3] = asin(x[3][3]); 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 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[1][0] = pow(x[1][0], y[1][0]); result[0][1] = pow(x[0][1], y[0][1]); result[1][1] = pow(x[1][1], y[1][1]); return result; } float3x2 pow(float3x2 x, float3x2 y) { float3x2 result; result[0][0] = pow(x[0][0], y[0][0]); result[1][0] = pow(x[1][0], y[1][0]); result[2][0] = pow(x[2][0], y[2][0]); result[0][1] = pow(x[0][1], y[0][1]); result[1][1] = pow(x[1][1], y[1][1]); result[2][1] = pow(x[2][1], y[2][1]); return result; } float4x2 pow(float4x2 x, float4x2 y) { float4x2 result; result[0][0] = pow(x[0][0], y[0][0]); result[1][0] = pow(x[1][0], y[1][0]); result[2][0] = pow(x[2][0], y[2][0]); result[3][0] = pow(x[3][0], y[3][0]); result[0][1] = pow(x[0][1], y[0][1]); result[1][1] = pow(x[1][1], y[1][1]); result[2][1] = pow(x[2][1], y[2][1]); result[3][1] = pow(x[3][1], y[3][1]); return result; } float2x3 pow(float2x3 x, float2x3 y) { float2x3 result; result[0][0] = pow(x[0][0], y[0][0]); result[1][0] = pow(x[1][0], y[1][0]); result[0][1] = pow(x[0][1], y[0][1]); result[1][1] = pow(x[1][1], y[1][1]); result[0][2] = pow(x[0][2], y[0][2]); result[1][2] = pow(x[1][2], y[1][2]); return result; } float3x3 pow(float3x3 x, float3x3 y) { float3x3 result; result[0][0] = pow(x[0][0], y[0][0]); result[1][0] = pow(x[1][0], y[1][0]); result[2][0] = pow(x[2][0], y[2][0]); result[0][1] = pow(x[0][1], y[0][1]); result[1][1] = pow(x[1][1], y[1][1]); result[2][1] = pow(x[2][1], y[2][1]); result[0][2] = pow(x[0][2], y[0][2]); result[1][2] = pow(x[1][2], y[1][2]); result[2][2] = pow(x[2][2], y[2][2]); return result; } float4x3 pow(float4x3 x, float4x3 y) { float4x3 result; result[0][0] = pow(x[0][0], y[0][0]); result[1][0] = pow(x[1][0], y[1][0]); result[2][0] = pow(x[2][0], y[2][0]); result[3][0] = pow(x[3][0], y[3][0]); result[0][1] = pow(x[0][1], y[0][1]); result[1][1] = pow(x[1][1], y[1][1]); result[2][1] = pow(x[2][1], y[2][1]); result[3][1] = pow(x[3][1], y[3][1]); result[0][2] = pow(x[0][2], y[0][2]); result[1][2] = pow(x[1][2], y[1][2]); result[2][2] = pow(x[2][2], y[2][2]); result[3][2] = pow(x[3][2], y[3][2]); return result; } float2x4 pow(float2x4 x, float2x4 y) { float2x4 result; result[0][0] = pow(x[0][0], y[0][0]); result[1][0] = pow(x[1][0], y[1][0]); result[0][1] = pow(x[0][1], y[0][1]); result[1][1] = pow(x[1][1], y[1][1]); result[0][2] = pow(x[0][2], y[0][2]); result[1][2] = pow(x[1][2], y[1][2]); result[0][3] = pow(x[0][3], y[0][3]); result[1][3] = pow(x[1][3], y[1][3]); return result; } float3x4 pow(float3x4 x, float3x4 y) { float3x4 result; result[0][0] = pow(x[0][0], y[0][0]); result[1][0] = pow(x[1][0], y[1][0]); result[2][0] = pow(x[2][0], y[2][0]); result[0][1] = pow(x[0][1], y[0][1]); result[1][1] = pow(x[1][1], y[1][1]); result[2][1] = pow(x[2][1], y[2][1]); result[0][2] = pow(x[0][2], y[0][2]); result[1][2] = pow(x[1][2], y[1][2]); result[2][2] = pow(x[2][2], y[2][2]); result[0][3] = pow(x[0][3], y[0][3]); result[1][3] = pow(x[1][3], y[1][3]); result[2][3] = pow(x[2][3], y[2][3]); return result; } float4x4 pow(float4x4 x, float4x4 y) { float4x4 result; result[0][0] = pow(x[0][0], y[0][0]); result[1][0] = pow(x[1][0], y[1][0]); result[2][0] = pow(x[2][0], y[2][0]); result[3][0] = pow(x[3][0], y[3][0]); result[0][1] = pow(x[0][1], y[0][1]); result[1][1] = pow(x[1][1], y[1][1]); result[2][1] = pow(x[2][1], y[2][1]); result[3][1] = pow(x[3][1], y[3][1]); result[0][2] = pow(x[0][2], y[0][2]); result[1][2] = pow(x[1][2], y[1][2]); result[2][2] = pow(x[2][2], y[2][2]); result[3][2] = pow(x[3][2], y[3][2]); result[0][3] = pow(x[0][3], y[0][3]); result[1][3] = pow(x[1][3], y[1][3]); result[2][3] = pow(x[2][3], y[2][3]); result[3][3] = pow(x[3][3], y[3][3]); 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[1][0] = tan(x[1][0]); result[0][1] = tan(x[0][1]); result[1][1] = tan(x[1][1]); return result; } float3x2 tan(float3x2 x) { float3x2 result; result[0][0] = tan(x[0][0]); result[1][0] = tan(x[1][0]); result[2][0] = tan(x[2][0]); result[0][1] = tan(x[0][1]); result[1][1] = tan(x[1][1]); result[2][1] = tan(x[2][1]); return result; } float4x2 tan(float4x2 x) { float4x2 result; result[0][0] = tan(x[0][0]); result[1][0] = tan(x[1][0]); result[2][0] = tan(x[2][0]); result[3][0] = tan(x[3][0]); result[0][1] = tan(x[0][1]); result[1][1] = tan(x[1][1]); result[2][1] = tan(x[2][1]); result[3][1] = tan(x[3][1]); return result; } float2x3 tan(float2x3 x) { float2x3 result; result[0][0] = tan(x[0][0]); result[1][0] = tan(x[1][0]); result[0][1] = tan(x[0][1]); result[1][1] = tan(x[1][1]); result[0][2] = tan(x[0][2]); result[1][2] = tan(x[1][2]); return result; } float3x3 tan(float3x3 x) { float3x3 result; result[0][0] = tan(x[0][0]); result[1][0] = tan(x[1][0]); result[2][0] = tan(x[2][0]); result[0][1] = tan(x[0][1]); result[1][1] = tan(x[1][1]); result[2][1] = tan(x[2][1]); result[0][2] = tan(x[0][2]); result[1][2] = tan(x[1][2]); result[2][2] = tan(x[2][2]); return result; } float4x3 tan(float4x3 x) { float4x3 result; result[0][0] = tan(x[0][0]); result[1][0] = tan(x[1][0]); result[2][0] = tan(x[2][0]); result[3][0] = tan(x[3][0]); result[0][1] = tan(x[0][1]); result[1][1] = tan(x[1][1]); result[2][1] = tan(x[2][1]); result[3][1] = tan(x[3][1]); result[0][2] = tan(x[0][2]); result[1][2] = tan(x[1][2]); result[2][2] = tan(x[2][2]); result[3][2] = tan(x[3][2]); return result; } float2x4 tan(float2x4 x) { float2x4 result; result[0][0] = tan(x[0][0]); result[1][0] = tan(x[1][0]); result[0][1] = tan(x[0][1]); result[1][1] = tan(x[1][1]); result[0][2] = tan(x[0][2]); result[1][2] = tan(x[1][2]); result[0][3] = tan(x[0][3]); result[1][3] = tan(x[1][3]); return result; } float3x4 tan(float3x4 x) { float3x4 result; result[0][0] = tan(x[0][0]); result[1][0] = tan(x[1][0]); result[2][0] = tan(x[2][0]); result[0][1] = tan(x[0][1]); result[1][1] = tan(x[1][1]); result[2][1] = tan(x[2][1]); result[0][2] = tan(x[0][2]); result[1][2] = tan(x[1][2]); result[2][2] = tan(x[2][2]); result[0][3] = tan(x[0][3]); result[1][3] = tan(x[1][3]); result[2][3] = tan(x[2][3]); return result; } float4x4 tan(float4x4 x) { float4x4 result; result[0][0] = tan(x[0][0]); result[1][0] = tan(x[1][0]); result[2][0] = tan(x[2][0]); result[3][0] = tan(x[3][0]); result[0][1] = tan(x[0][1]); result[1][1] = tan(x[1][1]); result[2][1] = tan(x[2][1]); result[3][1] = tan(x[3][1]); result[0][2] = tan(x[0][2]); result[1][2] = tan(x[1][2]); result[2][2] = tan(x[2][2]); result[3][2] = tan(x[3][2]); result[0][3] = tan(x[0][3]); result[1][3] = tan(x[1][3]); result[2][3] = tan(x[2][3]); 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[1][0] = fma(x[1][0], y[1][0], z[1][0]); result[0][1] = fma(x[0][1], y[0][1], z[0][1]); result[1][1] = fma(x[1][1], y[1][1], z[1][1]); 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[1][0] = fma(x[1][0], y[1][0], z[1][0]); result[2][0] = fma(x[2][0], y[2][0], z[2][0]); result[0][1] = fma(x[0][1], y[0][1], z[0][1]); result[1][1] = fma(x[1][1], y[1][1], z[1][1]); result[2][1] = fma(x[2][1], y[2][1], z[2][1]); 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[1][0] = fma(x[1][0], y[1][0], z[1][0]); result[2][0] = fma(x[2][0], y[2][0], z[2][0]); result[3][0] = fma(x[3][0], y[3][0], z[3][0]); result[0][1] = fma(x[0][1], y[0][1], z[0][1]); result[1][1] = fma(x[1][1], y[1][1], z[1][1]); result[2][1] = fma(x[2][1], y[2][1], z[2][1]); result[3][1] = fma(x[3][1], y[3][1], z[3][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[1][0] = fma(x[1][0], y[1][0], z[1][0]); result[0][1] = fma(x[0][1], y[0][1], z[0][1]); result[1][1] = fma(x[1][1], y[1][1], z[1][1]); result[0][2] = fma(x[0][2], y[0][2], z[0][2]); result[1][2] = fma(x[1][2], y[1][2], z[1][2]); 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[1][0] = fma(x[1][0], y[1][0], z[1][0]); result[2][0] = fma(x[2][0], y[2][0], z[2][0]); result[0][1] = fma(x[0][1], y[0][1], z[0][1]); result[1][1] = fma(x[1][1], y[1][1], z[1][1]); result[2][1] = fma(x[2][1], y[2][1], z[2][1]); result[0][2] = fma(x[0][2], y[0][2], z[0][2]); result[1][2] = fma(x[1][2], y[1][2], z[1][2]); result[2][2] = fma(x[2][2], y[2][2], z[2][2]); 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[1][0] = fma(x[1][0], y[1][0], z[1][0]); result[2][0] = fma(x[2][0], y[2][0], z[2][0]); result[3][0] = fma(x[3][0], y[3][0], z[3][0]); result[0][1] = fma(x[0][1], y[0][1], z[0][1]); result[1][1] = fma(x[1][1], y[1][1], z[1][1]); result[2][1] = fma(x[2][1], y[2][1], z[2][1]); result[3][1] = fma(x[3][1], y[3][1], z[3][1]); result[0][2] = fma(x[0][2], y[0][2], z[0][2]); result[1][2] = fma(x[1][2], y[1][2], z[1][2]); result[2][2] = fma(x[2][2], y[2][2], z[2][2]); result[3][2] = fma(x[3][2], y[3][2], z[3][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[1][0] = fma(x[1][0], y[1][0], z[1][0]); result[0][1] = fma(x[0][1], y[0][1], z[0][1]); result[1][1] = fma(x[1][1], y[1][1], z[1][1]); result[0][2] = fma(x[0][2], y[0][2], z[0][2]); result[1][2] = fma(x[1][2], y[1][2], z[1][2]); result[0][3] = fma(x[0][3], y[0][3], z[0][3]); result[1][3] = fma(x[1][3], y[1][3], z[1][3]); 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[1][0] = fma(x[1][0], y[1][0], z[1][0]); result[2][0] = fma(x[2][0], y[2][0], z[2][0]); result[0][1] = fma(x[0][1], y[0][1], z[0][1]); result[1][1] = fma(x[1][1], y[1][1], z[1][1]); result[2][1] = fma(x[2][1], y[2][1], z[2][1]); result[0][2] = fma(x[0][2], y[0][2], z[0][2]); result[1][2] = fma(x[1][2], y[1][2], z[1][2]); result[2][2] = fma(x[2][2], y[2][2], z[2][2]); result[0][3] = fma(x[0][3], y[0][3], z[0][3]); result[1][3] = fma(x[1][3], y[1][3], z[1][3]); result[2][3] = fma(x[2][3], y[2][3], z[2][3]); 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[1][0] = fma(x[1][0], y[1][0], z[1][0]); result[2][0] = fma(x[2][0], y[2][0], z[2][0]); result[3][0] = fma(x[3][0], y[3][0], z[3][0]); result[0][1] = fma(x[0][1], y[0][1], z[0][1]); result[1][1] = fma(x[1][1], y[1][1], z[1][1]); result[2][1] = fma(x[2][1], y[2][1], z[2][1]); result[3][1] = fma(x[3][1], y[3][1], z[3][1]); result[0][2] = fma(x[0][2], y[0][2], z[0][2]); result[1][2] = fma(x[1][2], y[1][2], z[1][2]); result[2][2] = fma(x[2][2], y[2][2], z[2][2]); result[3][2] = fma(x[3][2], y[3][2], z[3][2]); result[0][3] = fma(x[0][3], y[0][3], z[0][3]); result[1][3] = fma(x[1][3], y[1][3], z[1][3]); result[2][3] = fma(x[2][3], y[2][3], z[2][3]); 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[1][0] * x[0][1]; } float determinant(float3x3 x) { return x[0][0] * x[1][1] * x[2][2] + x[1][0] * x[2][1] * x[0][2] + x[2][0] * x[0][1] * x[1][2] - x[0][2] * x[1][1] * x[2][0] - x[1][2] * x[2][1] * x[0][0] - x[2][2] * x[0][1] * x[1][0]; } float determinant(float4x4 x) { float result; float3x3 minor; minor[0][0] = x[1][1]; minor[1][0] = x[2][1]; minor[2][0] = x[3][1]; minor[0][1] = x[1][2]; minor[1][1] = x[2][2]; minor[2][1] = x[3][2]; minor[0][2] = x[1][3]; minor[1][2] = x[2][3]; minor[2][2] = x[3][3]; result = result + x[0][0] * determinant(minor); minor[0][0] = x[0][1]; minor[1][0] = x[2][1]; minor[2][0] = x[3][1]; minor[0][1] = x[0][2]; minor[1][1] = x[2][2]; minor[2][1] = x[3][2]; minor[0][2] = x[0][3]; minor[1][2] = x[2][3]; minor[2][2] = x[3][3]; result = result - x[1][0] * determinant(minor); minor[0][0] = x[0][1]; minor[1][0] = x[1][1]; minor[2][0] = x[3][1]; minor[0][1] = x[0][2]; minor[1][1] = x[1][2]; minor[2][1] = x[3][2]; minor[0][2] = x[0][3]; minor[1][2] = x[1][3]; minor[2][2] = x[3][3]; result = result + x[2][0] * determinant(minor); minor[0][0] = x[0][1]; minor[1][0] = x[1][1]; minor[2][0] = x[2][1]; minor[0][1] = x[0][2]; minor[1][1] = x[1][2]; minor[2][1] = x[2][2]; minor[0][2] = x[0][3]; minor[1][2] = x[1][3]; minor[2][2] = x[2][3]; result = result - x[3][0] * determinant(minor); 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[1][0] = floor(x[1][0]); result[0][1] = floor(x[0][1]); result[1][1] = floor(x[1][1]); return result; } float3x2 floor(float3x2 x) { float3x2 result; result[0][0] = floor(x[0][0]); result[1][0] = floor(x[1][0]); result[2][0] = floor(x[2][0]); result[0][1] = floor(x[0][1]); result[1][1] = floor(x[1][1]); result[2][1] = floor(x[2][1]); return result; } float4x2 floor(float4x2 x) { float4x2 result; result[0][0] = floor(x[0][0]); result[1][0] = floor(x[1][0]); result[2][0] = floor(x[2][0]); result[3][0] = floor(x[3][0]); result[0][1] = floor(x[0][1]); result[1][1] = floor(x[1][1]); result[2][1] = floor(x[2][1]); result[3][1] = floor(x[3][1]); return result; } float2x3 floor(float2x3 x) { float2x3 result; result[0][0] = floor(x[0][0]); result[1][0] = floor(x[1][0]); result[0][1] = floor(x[0][1]); result[1][1] = floor(x[1][1]); result[0][2] = floor(x[0][2]); result[1][2] = floor(x[1][2]); return result; } float3x3 floor(float3x3 x) { float3x3 result; result[0][0] = floor(x[0][0]); result[1][0] = floor(x[1][0]); result[2][0] = floor(x[2][0]); result[0][1] = floor(x[0][1]); result[1][1] = floor(x[1][1]); result[2][1] = floor(x[2][1]); result[0][2] = floor(x[0][2]); result[1][2] = floor(x[1][2]); result[2][2] = floor(x[2][2]); return result; } float4x3 floor(float4x3 x) { float4x3 result; result[0][0] = floor(x[0][0]); result[1][0] = floor(x[1][0]); result[2][0] = floor(x[2][0]); result[3][0] = floor(x[3][0]); result[0][1] = floor(x[0][1]); result[1][1] = floor(x[1][1]); result[2][1] = floor(x[2][1]); result[3][1] = floor(x[3][1]); result[0][2] = floor(x[0][2]); result[1][2] = floor(x[1][2]); result[2][2] = floor(x[2][2]); result[3][2] = floor(x[3][2]); return result; } float2x4 floor(float2x4 x) { float2x4 result; result[0][0] = floor(x[0][0]); result[1][0] = floor(x[1][0]); result[0][1] = floor(x[0][1]); result[1][1] = floor(x[1][1]); result[0][2] = floor(x[0][2]); result[1][2] = floor(x[1][2]); result[0][3] = floor(x[0][3]); result[1][3] = floor(x[1][3]); return result; } float3x4 floor(float3x4 x) { float3x4 result; result[0][0] = floor(x[0][0]); result[1][0] = floor(x[1][0]); result[2][0] = floor(x[2][0]); result[0][1] = floor(x[0][1]); result[1][1] = floor(x[1][1]); result[2][1] = floor(x[2][1]); result[0][2] = floor(x[0][2]); result[1][2] = floor(x[1][2]); result[2][2] = floor(x[2][2]); result[0][3] = floor(x[0][3]); result[1][3] = floor(x[1][3]); result[2][3] = floor(x[2][3]); return result; } float4x4 floor(float4x4 x) { float4x4 result; result[0][0] = floor(x[0][0]); result[1][0] = floor(x[1][0]); result[2][0] = floor(x[2][0]); result[3][0] = floor(x[3][0]); result[0][1] = floor(x[0][1]); result[1][1] = floor(x[1][1]); result[2][1] = floor(x[2][1]); result[3][1] = floor(x[3][1]); result[0][2] = floor(x[0][2]); result[1][2] = floor(x[1][2]); result[2][2] = floor(x[2][2]); result[3][2] = floor(x[3][2]); result[0][3] = floor(x[0][3]); result[1][3] = floor(x[1][3]); result[2][3] = floor(x[2][3]); 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 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 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 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[1][0] = atan2(x[1][0], y[1][0]); result[0][1] = atan2(x[0][1], y[0][1]); result[1][1] = atan2(x[1][1], y[1][1]); return result; } float3x2 atan2(float3x2 x, float3x2 y) { float3x2 result; result[0][0] = atan2(x[0][0], y[0][0]); result[1][0] = atan2(x[1][0], y[1][0]); result[2][0] = atan2(x[2][0], y[2][0]); result[0][1] = atan2(x[0][1], y[0][1]); result[1][1] = atan2(x[1][1], y[1][1]); result[2][1] = atan2(x[2][1], y[2][1]); return result; } float4x2 atan2(float4x2 x, float4x2 y) { float4x2 result; result[0][0] = atan2(x[0][0], y[0][0]); result[1][0] = atan2(x[1][0], y[1][0]); result[2][0] = atan2(x[2][0], y[2][0]); result[3][0] = atan2(x[3][0], y[3][0]); result[0][1] = atan2(x[0][1], y[0][1]); result[1][1] = atan2(x[1][1], y[1][1]); result[2][1] = atan2(x[2][1], y[2][1]); result[3][1] = atan2(x[3][1], y[3][1]); return result; } float2x3 atan2(float2x3 x, float2x3 y) { float2x3 result; result[0][0] = atan2(x[0][0], y[0][0]); result[1][0] = atan2(x[1][0], y[1][0]); result[0][1] = atan2(x[0][1], y[0][1]); result[1][1] = atan2(x[1][1], y[1][1]); result[0][2] = atan2(x[0][2], y[0][2]); result[1][2] = atan2(x[1][2], y[1][2]); return result; } float3x3 atan2(float3x3 x, float3x3 y) { float3x3 result; result[0][0] = atan2(x[0][0], y[0][0]); result[1][0] = atan2(x[1][0], y[1][0]); result[2][0] = atan2(x[2][0], y[2][0]); result[0][1] = atan2(x[0][1], y[0][1]); result[1][1] = atan2(x[1][1], y[1][1]); result[2][1] = atan2(x[2][1], y[2][1]); result[0][2] = atan2(x[0][2], y[0][2]); result[1][2] = atan2(x[1][2], y[1][2]); result[2][2] = atan2(x[2][2], y[2][2]); return result; } float4x3 atan2(float4x3 x, float4x3 y) { float4x3 result; result[0][0] = atan2(x[0][0], y[0][0]); result[1][0] = atan2(x[1][0], y[1][0]); result[2][0] = atan2(x[2][0], y[2][0]); result[3][0] = atan2(x[3][0], y[3][0]); result[0][1] = atan2(x[0][1], y[0][1]); result[1][1] = atan2(x[1][1], y[1][1]); result[2][1] = atan2(x[2][1], y[2][1]); result[3][1] = atan2(x[3][1], y[3][1]); result[0][2] = atan2(x[0][2], y[0][2]); result[1][2] = atan2(x[1][2], y[1][2]); result[2][2] = atan2(x[2][2], y[2][2]); result[3][2] = atan2(x[3][2], y[3][2]); return result; } float2x4 atan2(float2x4 x, float2x4 y) { float2x4 result; result[0][0] = atan2(x[0][0], y[0][0]); result[1][0] = atan2(x[1][0], y[1][0]); result[0][1] = atan2(x[0][1], y[0][1]); result[1][1] = atan2(x[1][1], y[1][1]); result[0][2] = atan2(x[0][2], y[0][2]); result[1][2] = atan2(x[1][2], y[1][2]); result[0][3] = atan2(x[0][3], y[0][3]); result[1][3] = atan2(x[1][3], y[1][3]); return result; } float3x4 atan2(float3x4 x, float3x4 y) { float3x4 result; result[0][0] = atan2(x[0][0], y[0][0]); result[1][0] = atan2(x[1][0], y[1][0]); result[2][0] = atan2(x[2][0], y[2][0]); result[0][1] = atan2(x[0][1], y[0][1]); result[1][1] = atan2(x[1][1], y[1][1]); result[2][1] = atan2(x[2][1], y[2][1]); result[0][2] = atan2(x[0][2], y[0][2]); result[1][2] = atan2(x[1][2], y[1][2]); result[2][2] = atan2(x[2][2], y[2][2]); result[0][3] = atan2(x[0][3], y[0][3]); result[1][3] = atan2(x[1][3], y[1][3]); result[2][3] = atan2(x[2][3], y[2][3]); return result; } float4x4 atan2(float4x4 x, float4x4 y) { float4x4 result; result[0][0] = atan2(x[0][0], y[0][0]); result[1][0] = atan2(x[1][0], y[1][0]); result[2][0] = atan2(x[2][0], y[2][0]); result[3][0] = atan2(x[3][0], y[3][0]); result[0][1] = atan2(x[0][1], y[0][1]); result[1][1] = atan2(x[1][1], y[1][1]); result[2][1] = atan2(x[2][1], y[2][1]); result[3][1] = atan2(x[3][1], y[3][1]); result[0][2] = atan2(x[0][2], y[0][2]); result[1][2] = atan2(x[1][2], y[1][2]); result[2][2] = atan2(x[2][2], y[2][2]); result[3][2] = atan2(x[3][2], y[3][2]); result[0][3] = atan2(x[0][3], y[0][3]); result[1][3] = atan2(x[1][3], y[1][3]); result[2][3] = atan2(x[2][3], y[2][3]); result[3][3] = atan2(x[3][3], y[3][3]); return result; } /* Functions named DeviceMemoryBarrierWithGroupSync */ native void DeviceMemoryBarrierWithGroupSync(); /* 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[1][0] = fmod(x[1][0], y[1][0]); result[0][1] = fmod(x[0][1], y[0][1]); result[1][1] = fmod(x[1][1], y[1][1]); return result; } float3x2 fmod(float3x2 x, float3x2 y) { float3x2 result; result[0][0] = fmod(x[0][0], y[0][0]); result[1][0] = fmod(x[1][0], y[1][0]); result[2][0] = fmod(x[2][0], y[2][0]); result[0][1] = fmod(x[0][1], y[0][1]); result[1][1] = fmod(x[1][1], y[1][1]); result[2][1] = fmod(x[2][1], y[2][1]); return result; } float4x2 fmod(float4x2 x, float4x2 y) { float4x2 result; result[0][0] = fmod(x[0][0], y[0][0]); result[1][0] = fmod(x[1][0], y[1][0]); result[2][0] = fmod(x[2][0], y[2][0]); result[3][0] = fmod(x[3][0], y[3][0]); result[0][1] = fmod(x[0][1], y[0][1]); result[1][1] = fmod(x[1][1], y[1][1]); result[2][1] = fmod(x[2][1], y[2][1]); result[3][1] = fmod(x[3][1], y[3][1]); return result; } float2x3 fmod(float2x3 x, float2x3 y) { float2x3 result; result[0][0] = fmod(x[0][0], y[0][0]); result[1][0] = fmod(x[1][0], y[1][0]); result[0][1] = fmod(x[0][1], y[0][1]); result[1][1] = fmod(x[1][1], y[1][1]); result[0][2] = fmod(x[0][2], y[0][2]); result[1][2] = fmod(x[1][2], y[1][2]); return result; } float3x3 fmod(float3x3 x, float3x3 y) { float3x3 result; result[0][0] = fmod(x[0][0], y[0][0]); result[1][0] = fmod(x[1][0], y[1][0]); result[2][0] = fmod(x[2][0], y[2][0]); result[0][1] = fmod(x[0][1], y[0][1]); result[1][1] = fmod(x[1][1], y[1][1]); result[2][1] = fmod(x[2][1], y[2][1]); result[0][2] = fmod(x[0][2], y[0][2]); result[1][2] = fmod(x[1][2], y[1][2]); result[2][2] = fmod(x[2][2], y[2][2]); return result; } float4x3 fmod(float4x3 x, float4x3 y) { float4x3 result; result[0][0] = fmod(x[0][0], y[0][0]); result[1][0] = fmod(x[1][0], y[1][0]); result[2][0] = fmod(x[2][0], y[2][0]); result[3][0] = fmod(x[3][0], y[3][0]); result[0][1] = fmod(x[0][1], y[0][1]); result[1][1] = fmod(x[1][1], y[1][1]); result[2][1] = fmod(x[2][1], y[2][1]); result[3][1] = fmod(x[3][1], y[3][1]); result[0][2] = fmod(x[0][2], y[0][2]); result[1][2] = fmod(x[1][2], y[1][2]); result[2][2] = fmod(x[2][2], y[2][2]); result[3][2] = fmod(x[3][2], y[3][2]); return result; } float2x4 fmod(float2x4 x, float2x4 y) { float2x4 result; result[0][0] = fmod(x[0][0], y[0][0]); result[1][0] = fmod(x[1][0], y[1][0]); result[0][1] = fmod(x[0][1], y[0][1]); result[1][1] = fmod(x[1][1], y[1][1]); result[0][2] = fmod(x[0][2], y[0][2]); result[1][2] = fmod(x[1][2], y[1][2]); result[0][3] = fmod(x[0][3], y[0][3]); result[1][3] = fmod(x[1][3], y[1][3]); return result; } float3x4 fmod(float3x4 x, float3x4 y) { float3x4 result; result[0][0] = fmod(x[0][0], y[0][0]); result[1][0] = fmod(x[1][0], y[1][0]); result[2][0] = fmod(x[2][0], y[2][0]); result[0][1] = fmod(x[0][1], y[0][1]); result[1][1] = fmod(x[1][1], y[1][1]); result[2][1] = fmod(x[2][1], y[2][1]); result[0][2] = fmod(x[0][2], y[0][2]); result[1][2] = fmod(x[1][2], y[1][2]); result[2][2] = fmod(x[2][2], y[2][2]); result[0][3] = fmod(x[0][3], y[0][3]); result[1][3] = fmod(x[1][3], y[1][3]); result[2][3] = fmod(x[2][3], y[2][3]); return result; } float4x4 fmod(float4x4 x, float4x4 y) { float4x4 result; result[0][0] = fmod(x[0][0], y[0][0]); result[1][0] = fmod(x[1][0], y[1][0]); result[2][0] = fmod(x[2][0], y[2][0]); result[3][0] = fmod(x[3][0], y[3][0]); result[0][1] = fmod(x[0][1], y[0][1]); result[1][1] = fmod(x[1][1], y[1][1]); result[2][1] = fmod(x[2][1], y[2][1]); result[3][1] = fmod(x[3][1], y[3][1]); result[0][2] = fmod(x[0][2], y[0][2]); result[1][2] = fmod(x[1][2], y[1][2]); result[2][2] = fmod(x[2][2], y[2][2]); result[3][2] = fmod(x[3][2], y[3][2]); result[0][3] = fmod(x[0][3], y[0][3]); result[1][3] = fmod(x[1][3], y[1][3]); result[2][3] = fmod(x[2][3], y[2][3]); result[3][3] = fmod(x[3][3], y[3][3]); 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 float3x2 operator-(float3x2, float3x2); native float3x2 operator-(float, float3x2); native float3x2 operator-(float3x2, float); native float3x2 operator-(float3x2); native float4x2 operator-(float4x2, float4x2); native float4x2 operator-(float, float4x2); native float4x2 operator-(float4x2, float); native float4x2 operator-(float4x2); native float2x3 operator-(float2x3, float2x3); native float2x3 operator-(float, float2x3); native float2x3 operator-(float2x3, float); native float2x3 operator-(float2x3); native float3x3 operator-(float3x3, float3x3); native float3x3 operator-(float, float3x3); native float3x3 operator-(float3x3, float); native float3x3 operator-(float3x3); native float4x3 operator-(float4x3, float4x3); native float4x3 operator-(float, float4x3); native float4x3 operator-(float4x3, float); native float4x3 operator-(float4x3); native float2x4 operator-(float2x4, float2x4); native float2x4 operator-(float, float2x4); native float2x4 operator-(float2x4, float); native float2x4 operator-(float2x4); native float3x4 operator-(float3x4, float3x4); native float3x4 operator-(float, float3x4); native float3x4 operator-(float3x4, float); native float3x4 operator-(float3x4); 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[1][0] = min(x[1][0], y[1][0]); result[0][1] = min(x[0][1], y[0][1]); result[1][1] = min(x[1][1], y[1][1]); return result; } float3x2 min(float3x2 x, float3x2 y) { float3x2 result; result[0][0] = min(x[0][0], y[0][0]); result[1][0] = min(x[1][0], y[1][0]); result[2][0] = min(x[2][0], y[2][0]); result[0][1] = min(x[0][1], y[0][1]); result[1][1] = min(x[1][1], y[1][1]); result[2][1] = min(x[2][1], y[2][1]); return result; } float4x2 min(float4x2 x, float4x2 y) { float4x2 result; result[0][0] = min(x[0][0], y[0][0]); result[1][0] = min(x[1][0], y[1][0]); result[2][0] = min(x[2][0], y[2][0]); result[3][0] = min(x[3][0], y[3][0]); result[0][1] = min(x[0][1], y[0][1]); result[1][1] = min(x[1][1], y[1][1]); result[2][1] = min(x[2][1], y[2][1]); result[3][1] = min(x[3][1], y[3][1]); return result; } float2x3 min(float2x3 x, float2x3 y) { float2x3 result; result[0][0] = min(x[0][0], y[0][0]); result[1][0] = min(x[1][0], y[1][0]); result[0][1] = min(x[0][1], y[0][1]); result[1][1] = min(x[1][1], y[1][1]); result[0][2] = min(x[0][2], y[0][2]); result[1][2] = min(x[1][2], y[1][2]); return result; } float3x3 min(float3x3 x, float3x3 y) { float3x3 result; result[0][0] = min(x[0][0], y[0][0]); result[1][0] = min(x[1][0], y[1][0]); result[2][0] = min(x[2][0], y[2][0]); result[0][1] = min(x[0][1], y[0][1]); result[1][1] = min(x[1][1], y[1][1]); result[2][1] = min(x[2][1], y[2][1]); result[0][2] = min(x[0][2], y[0][2]); result[1][2] = min(x[1][2], y[1][2]); result[2][2] = min(x[2][2], y[2][2]); return result; } float4x3 min(float4x3 x, float4x3 y) { float4x3 result; result[0][0] = min(x[0][0], y[0][0]); result[1][0] = min(x[1][0], y[1][0]); result[2][0] = min(x[2][0], y[2][0]); result[3][0] = min(x[3][0], y[3][0]); result[0][1] = min(x[0][1], y[0][1]); result[1][1] = min(x[1][1], y[1][1]); result[2][1] = min(x[2][1], y[2][1]); result[3][1] = min(x[3][1], y[3][1]); result[0][2] = min(x[0][2], y[0][2]); result[1][2] = min(x[1][2], y[1][2]); result[2][2] = min(x[2][2], y[2][2]); result[3][2] = min(x[3][2], y[3][2]); return result; } float2x4 min(float2x4 x, float2x4 y) { float2x4 result; result[0][0] = min(x[0][0], y[0][0]); result[1][0] = min(x[1][0], y[1][0]); result[0][1] = min(x[0][1], y[0][1]); result[1][1] = min(x[1][1], y[1][1]); result[0][2] = min(x[0][2], y[0][2]); result[1][2] = min(x[1][2], y[1][2]); result[0][3] = min(x[0][3], y[0][3]); result[1][3] = min(x[1][3], y[1][3]); return result; } float3x4 min(float3x4 x, float3x4 y) { float3x4 result; result[0][0] = min(x[0][0], y[0][0]); result[1][0] = min(x[1][0], y[1][0]); result[2][0] = min(x[2][0], y[2][0]); result[0][1] = min(x[0][1], y[0][1]); result[1][1] = min(x[1][1], y[1][1]); result[2][1] = min(x[2][1], y[2][1]); result[0][2] = min(x[0][2], y[0][2]); result[1][2] = min(x[1][2], y[1][2]); result[2][2] = min(x[2][2], y[2][2]); result[0][3] = min(x[0][3], y[0][3]); result[1][3] = min(x[1][3], y[1][3]); result[2][3] = min(x[2][3], y[2][3]); return result; } float4x4 min(float4x4 x, float4x4 y) { float4x4 result; result[0][0] = min(x[0][0], y[0][0]); result[1][0] = min(x[1][0], y[1][0]); result[2][0] = min(x[2][0], y[2][0]); result[3][0] = min(x[3][0], y[3][0]); result[0][1] = min(x[0][1], y[0][1]); result[1][1] = min(x[1][1], y[1][1]); result[2][1] = min(x[2][1], y[2][1]); result[3][1] = min(x[3][1], y[3][1]); result[0][2] = min(x[0][2], y[0][2]); result[1][2] = min(x[1][2], y[1][2]); result[2][2] = min(x[2][2], y[2][2]); result[3][2] = min(x[3][2], y[3][2]); result[0][3] = min(x[0][3], y[0][3]); result[1][3] = min(x[1][3], y[1][3]); result[2][3] = min(x[2][3], y[2][3]); result[3][3] = min(x[3][3], y[3][3]); 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 GroupMemoryBarrierWithGroupSync */ native void GroupMemoryBarrierWithGroupSync(); /* 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[1][0] = trunc(x[1][0]); result[0][1] = trunc(x[0][1]); result[1][1] = trunc(x[1][1]); return result; } float3x2 trunc(float3x2 x) { float3x2 result; result[0][0] = trunc(x[0][0]); result[1][0] = trunc(x[1][0]); result[2][0] = trunc(x[2][0]); result[0][1] = trunc(x[0][1]); result[1][1] = trunc(x[1][1]); result[2][1] = trunc(x[2][1]); return result; } float4x2 trunc(float4x2 x) { float4x2 result; result[0][0] = trunc(x[0][0]); result[1][0] = trunc(x[1][0]); result[2][0] = trunc(x[2][0]); result[3][0] = trunc(x[3][0]); result[0][1] = trunc(x[0][1]); result[1][1] = trunc(x[1][1]); result[2][1] = trunc(x[2][1]); result[3][1] = trunc(x[3][1]); return result; } float2x3 trunc(float2x3 x) { float2x3 result; result[0][0] = trunc(x[0][0]); result[1][0] = trunc(x[1][0]); result[0][1] = trunc(x[0][1]); result[1][1] = trunc(x[1][1]); result[0][2] = trunc(x[0][2]); result[1][2] = trunc(x[1][2]); return result; } float3x3 trunc(float3x3 x) { float3x3 result; result[0][0] = trunc(x[0][0]); result[1][0] = trunc(x[1][0]); result[2][0] = trunc(x[2][0]); result[0][1] = trunc(x[0][1]); result[1][1] = trunc(x[1][1]); result[2][1] = trunc(x[2][1]); result[0][2] = trunc(x[0][2]); result[1][2] = trunc(x[1][2]); result[2][2] = trunc(x[2][2]); return result; } float4x3 trunc(float4x3 x) { float4x3 result; result[0][0] = trunc(x[0][0]); result[1][0] = trunc(x[1][0]); result[2][0] = trunc(x[2][0]); result[3][0] = trunc(x[3][0]); result[0][1] = trunc(x[0][1]); result[1][1] = trunc(x[1][1]); result[2][1] = trunc(x[2][1]); result[3][1] = trunc(x[3][1]); result[0][2] = trunc(x[0][2]); result[1][2] = trunc(x[1][2]); result[2][2] = trunc(x[2][2]); result[3][2] = trunc(x[3][2]); return result; } float2x4 trunc(float2x4 x) { float2x4 result; result[0][0] = trunc(x[0][0]); result[1][0] = trunc(x[1][0]); result[0][1] = trunc(x[0][1]); result[1][1] = trunc(x[1][1]); result[0][2] = trunc(x[0][2]); result[1][2] = trunc(x[1][2]); result[0][3] = trunc(x[0][3]); result[1][3] = trunc(x[1][3]); return result; } float3x4 trunc(float3x4 x) { float3x4 result; result[0][0] = trunc(x[0][0]); result[1][0] = trunc(x[1][0]); result[2][0] = trunc(x[2][0]); result[0][1] = trunc(x[0][1]); result[1][1] = trunc(x[1][1]); result[2][1] = trunc(x[2][1]); result[0][2] = trunc(x[0][2]); result[1][2] = trunc(x[1][2]); result[2][2] = trunc(x[2][2]); result[0][3] = trunc(x[0][3]); result[1][3] = trunc(x[1][3]); result[2][3] = trunc(x[2][3]); return result; } float4x4 trunc(float4x4 x) { float4x4 result; result[0][0] = trunc(x[0][0]); result[1][0] = trunc(x[1][0]); result[2][0] = trunc(x[2][0]); result[3][0] = trunc(x[3][0]); result[0][1] = trunc(x[0][1]); result[1][1] = trunc(x[1][1]); result[2][1] = trunc(x[2][1]); result[3][1] = trunc(x[3][1]); result[0][2] = trunc(x[0][2]); result[1][2] = trunc(x[1][2]); result[2][2] = trunc(x[2][2]); result[3][2] = trunc(x[3][2]); result[0][3] = trunc(x[0][3]); result[1][3] = trunc(x[1][3]); result[2][3] = trunc(x[2][3]); result[3][3] = trunc(x[3][3]); 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[1][0] = max(x[1][0], y[1][0]); result[0][1] = max(x[0][1], y[0][1]); result[1][1] = max(x[1][1], y[1][1]); return result; } float3x2 max(float3x2 x, float3x2 y) { float3x2 result; result[0][0] = max(x[0][0], y[0][0]); result[1][0] = max(x[1][0], y[1][0]); result[2][0] = max(x[2][0], y[2][0]); result[0][1] = max(x[0][1], y[0][1]); result[1][1] = max(x[1][1], y[1][1]); result[2][1] = max(x[2][1], y[2][1]); return result; } float4x2 max(float4x2 x, float4x2 y) { float4x2 result; result[0][0] = max(x[0][0], y[0][0]); result[1][0] = max(x[1][0], y[1][0]); result[2][0] = max(x[2][0], y[2][0]); result[3][0] = max(x[3][0], y[3][0]); result[0][1] = max(x[0][1], y[0][1]); result[1][1] = max(x[1][1], y[1][1]); result[2][1] = max(x[2][1], y[2][1]); result[3][1] = max(x[3][1], y[3][1]); return result; } float2x3 max(float2x3 x, float2x3 y) { float2x3 result; result[0][0] = max(x[0][0], y[0][0]); result[1][0] = max(x[1][0], y[1][0]); result[0][1] = max(x[0][1], y[0][1]); result[1][1] = max(x[1][1], y[1][1]); result[0][2] = max(x[0][2], y[0][2]); result[1][2] = max(x[1][2], y[1][2]); return result; } float3x3 max(float3x3 x, float3x3 y) { float3x3 result; result[0][0] = max(x[0][0], y[0][0]); result[1][0] = max(x[1][0], y[1][0]); result[2][0] = max(x[2][0], y[2][0]); result[0][1] = max(x[0][1], y[0][1]); result[1][1] = max(x[1][1], y[1][1]); result[2][1] = max(x[2][1], y[2][1]); result[0][2] = max(x[0][2], y[0][2]); result[1][2] = max(x[1][2], y[1][2]); result[2][2] = max(x[2][2], y[2][2]); return result; } float4x3 max(float4x3 x, float4x3 y) { float4x3 result; result[0][0] = max(x[0][0], y[0][0]); result[1][0] = max(x[1][0], y[1][0]); result[2][0] = max(x[2][0], y[2][0]); result[3][0] = max(x[3][0], y[3][0]); result[0][1] = max(x[0][1], y[0][1]); result[1][1] = max(x[1][1], y[1][1]); result[2][1] = max(x[2][1], y[2][1]); result[3][1] = max(x[3][1], y[3][1]); result[0][2] = max(x[0][2], y[0][2]); result[1][2] = max(x[1][2], y[1][2]); result[2][2] = max(x[2][2], y[2][2]); result[3][2] = max(x[3][2], y[3][2]); return result; } float2x4 max(float2x4 x, float2x4 y) { float2x4 result; result[0][0] = max(x[0][0], y[0][0]); result[1][0] = max(x[1][0], y[1][0]); result[0][1] = max(x[0][1], y[0][1]); result[1][1] = max(x[1][1], y[1][1]); result[0][2] = max(x[0][2], y[0][2]); result[1][2] = max(x[1][2], y[1][2]); result[0][3] = max(x[0][3], y[0][3]); result[1][3] = max(x[1][3], y[1][3]); return result; } float3x4 max(float3x4 x, float3x4 y) { float3x4 result; result[0][0] = max(x[0][0], y[0][0]); result[1][0] = max(x[1][0], y[1][0]); result[2][0] = max(x[2][0], y[2][0]); result[0][1] = max(x[0][1], y[0][1]); result[1][1] = max(x[1][1], y[1][1]); result[2][1] = max(x[2][1], y[2][1]); result[0][2] = max(x[0][2], y[0][2]); result[1][2] = max(x[1][2], y[1][2]); result[2][2] = max(x[2][2], y[2][2]); result[0][3] = max(x[0][3], y[0][3]); result[1][3] = max(x[1][3], y[1][3]); result[2][3] = max(x[2][3], y[2][3]); return result; } float4x4 max(float4x4 x, float4x4 y) { float4x4 result; result[0][0] = max(x[0][0], y[0][0]); result[1][0] = max(x[1][0], y[1][0]); result[2][0] = max(x[2][0], y[2][0]); result[3][0] = max(x[3][0], y[3][0]); result[0][1] = max(x[0][1], y[0][1]); result[1][1] = max(x[1][1], y[1][1]); result[2][1] = max(x[2][1], y[2][1]); result[3][1] = max(x[3][1], y[3][1]); result[0][2] = max(x[0][2], y[0][2]); result[1][2] = max(x[1][2], y[1][2]); result[2][2] = max(x[2][2], y[2][2]); result[3][2] = max(x[3][2], y[3][2]); result[0][3] = max(x[0][3], y[0][3]); result[1][3] = max(x[1][3], y[1][3]); result[2][3] = max(x[2][3], y[2][3]); result[3][3] = max(x[3][3], y[3][3]); 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 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 float3x2 clamp(float3x2, float3x2, float3x2); native float4x2 clamp(float4x2, float4x2, float4x2); native float2x3 clamp(float2x3, float2x3, float2x3); native float3x3 clamp(float3x3, float3x3, float3x3); native float4x3 clamp(float4x3, float4x3, float4x3); native float2x4 clamp(float2x4, float2x4, float2x4); native float3x4 clamp(float3x4, float3x4, float3x4); native float4x4 clamp(float4x4, float4x4, float4x4); /* 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 bool3x2 operator<(float3x2, float3x2); native bool4x2 operator<(float4x2, float4x2); native bool2x3 operator<(float2x3, float2x3); native bool3x3 operator<(float3x3, float3x3); native bool4x3 operator<(float4x3, float4x3); native bool2x4 operator<(float2x4, float2x4); native bool3x4 operator<(float3x4, float3x4); native bool4x4 operator<(float4x4, float4x4); /* 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 AllMemoryBarrierWithGroupSync */ native void AllMemoryBarrierWithGroupSync(); /* 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 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 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[1][0] = degrees(x[1][0]); result[0][1] = degrees(x[0][1]); result[1][1] = degrees(x[1][1]); return result; } float3x2 degrees(float3x2 x) { float3x2 result; result[0][0] = degrees(x[0][0]); result[1][0] = degrees(x[1][0]); result[2][0] = degrees(x[2][0]); result[0][1] = degrees(x[0][1]); result[1][1] = degrees(x[1][1]); result[2][1] = degrees(x[2][1]); return result; } float4x2 degrees(float4x2 x) { float4x2 result; result[0][0] = degrees(x[0][0]); result[1][0] = degrees(x[1][0]); result[2][0] = degrees(x[2][0]); result[3][0] = degrees(x[3][0]); result[0][1] = degrees(x[0][1]); result[1][1] = degrees(x[1][1]); result[2][1] = degrees(x[2][1]); result[3][1] = degrees(x[3][1]); return result; } float2x3 degrees(float2x3 x) { float2x3 result; result[0][0] = degrees(x[0][0]); result[1][0] = degrees(x[1][0]); result[0][1] = degrees(x[0][1]); result[1][1] = degrees(x[1][1]); result[0][2] = degrees(x[0][2]); result[1][2] = degrees(x[1][2]); return result; } float3x3 degrees(float3x3 x) { float3x3 result; result[0][0] = degrees(x[0][0]); result[1][0] = degrees(x[1][0]); result[2][0] = degrees(x[2][0]); result[0][1] = degrees(x[0][1]); result[1][1] = degrees(x[1][1]); result[2][1] = degrees(x[2][1]); result[0][2] = degrees(x[0][2]); result[1][2] = degrees(x[1][2]); result[2][2] = degrees(x[2][2]); return result; } float4x3 degrees(float4x3 x) { float4x3 result; result[0][0] = degrees(x[0][0]); result[1][0] = degrees(x[1][0]); result[2][0] = degrees(x[2][0]); result[3][0] = degrees(x[3][0]); result[0][1] = degrees(x[0][1]); result[1][1] = degrees(x[1][1]); result[2][1] = degrees(x[2][1]); result[3][1] = degrees(x[3][1]); result[0][2] = degrees(x[0][2]); result[1][2] = degrees(x[1][2]); result[2][2] = degrees(x[2][2]); result[3][2] = degrees(x[3][2]); return result; } float2x4 degrees(float2x4 x) { float2x4 result; result[0][0] = degrees(x[0][0]); result[1][0] = degrees(x[1][0]); result[0][1] = degrees(x[0][1]); result[1][1] = degrees(x[1][1]); result[0][2] = degrees(x[0][2]); result[1][2] = degrees(x[1][2]); result[0][3] = degrees(x[0][3]); result[1][3] = degrees(x[1][3]); return result; } float3x4 degrees(float3x4 x) { float3x4 result; result[0][0] = degrees(x[0][0]); result[1][0] = degrees(x[1][0]); result[2][0] = degrees(x[2][0]); result[0][1] = degrees(x[0][1]); result[1][1] = degrees(x[1][1]); result[2][1] = degrees(x[2][1]); result[0][2] = degrees(x[0][2]); result[1][2] = degrees(x[1][2]); result[2][2] = degrees(x[2][2]); result[0][3] = degrees(x[0][3]); result[1][3] = degrees(x[1][3]); result[2][3] = degrees(x[2][3]); return result; } float4x4 degrees(float4x4 x) { float4x4 result; result[0][0] = degrees(x[0][0]); result[1][0] = degrees(x[1][0]); result[2][0] = degrees(x[2][0]); result[3][0] = degrees(x[3][0]); result[0][1] = degrees(x[0][1]); result[1][1] = degrees(x[1][1]); result[2][1] = degrees(x[2][1]); result[3][1] = degrees(x[3][1]); result[0][2] = degrees(x[0][2]); result[1][2] = degrees(x[1][2]); result[2][2] = degrees(x[2][2]); result[3][2] = degrees(x[3][2]); result[0][3] = degrees(x[0][3]); result[1][3] = degrees(x[1][3]); result[2][3] = degrees(x[2][3]); result[3][3] = degrees(x[3][3]); return result; } /* Functions named Sample */ native uint Sample(Texture1D, sampler, float location); native uint Sample(Texture1DArray, sampler, float2 location); native uint Sample(Texture2D, sampler, float2 location); native uint Sample(Texture2D, sampler, float2 location, int2 offset); native uint Sample(Texture2DArray, sampler, float3 location); native uint Sample(Texture2DArray, sampler, float3 location, int2 offset); native uint Sample(Texture3D, sampler, float3 location); native uint Sample(Texture3D, sampler, float3 location, int3 offset); native uint Sample(TextureCube, sampler, float3 location); native uint2 Sample(Texture1D, sampler, float location); native uint2 Sample(Texture1DArray, sampler, float2 location); native uint2 Sample(Texture2D, sampler, float2 location); native uint2 Sample(Texture2D, sampler, float2 location, int2 offset); native uint2 Sample(Texture2DArray, sampler, float3 location); native uint2 Sample(Texture2DArray, sampler, float3 location, int2 offset); native uint2 Sample(Texture3D, sampler, float3 location); native uint2 Sample(Texture3D, sampler, float3 location, int3 offset); native uint2 Sample(TextureCube, sampler, float3 location); native uint3 Sample(Texture1D, sampler, float location); native uint3 Sample(Texture1DArray, sampler, float2 location); native uint3 Sample(Texture2D, sampler, float2 location); native uint3 Sample(Texture2D, sampler, float2 location, int2 offset); native uint3 Sample(Texture2DArray, sampler, float3 location); native uint3 Sample(Texture2DArray, sampler, float3 location, int2 offset); native uint3 Sample(Texture3D, sampler, float3 location); native uint3 Sample(Texture3D, sampler, float3 location, int3 offset); native uint3 Sample(TextureCube, sampler, float3 location); native uint4 Sample(Texture1D, sampler, float location); native uint4 Sample(Texture1DArray, sampler, float2 location); native uint4 Sample(Texture2D, sampler, float2 location); native uint4 Sample(Texture2D, sampler, float2 location, int2 offset); native uint4 Sample(Texture2DArray, sampler, float3 location); native uint4 Sample(Texture2DArray, sampler, float3 location, int2 offset); native uint4 Sample(Texture3D, sampler, float3 location); native uint4 Sample(Texture3D, sampler, float3 location, int3 offset); native uint4 Sample(TextureCube, sampler, float3 location); native int Sample(Texture1D, sampler, float location); native int Sample(Texture1DArray, sampler, float2 location); native int Sample(Texture2D, sampler, float2 location); native int Sample(Texture2D, sampler, float2 location, int2 offset); native int Sample(Texture2DArray, sampler, float3 location); native int Sample(Texture2DArray, sampler, float3 location, int2 offset); native int Sample(Texture3D, sampler, float3 location); native int Sample(Texture3D, sampler, float3 location, int3 offset); native int Sample(TextureCube, sampler, float3 location); native int2 Sample(Texture1D, sampler, float location); native int2 Sample(Texture1DArray, sampler, float2 location); native int2 Sample(Texture2D, sampler, float2 location); native int2 Sample(Texture2D, sampler, float2 location, int2 offset); native int2 Sample(Texture2DArray, sampler, float3 location); native int2 Sample(Texture2DArray, sampler, float3 location, int2 offset); native int2 Sample(Texture3D, sampler, float3 location); native int2 Sample(Texture3D, sampler, float3 location, int3 offset); native int2 Sample(TextureCube, sampler, float3 location); native int3 Sample(Texture1D, sampler, float location); native int3 Sample(Texture1DArray, sampler, float2 location); native int3 Sample(Texture2D, sampler, float2 location); native int3 Sample(Texture2D, sampler, float2 location, int2 offset); native int3 Sample(Texture2DArray, sampler, float3 location); native int3 Sample(Texture2DArray, sampler, float3 location, int2 offset); native int3 Sample(Texture3D, sampler, float3 location); native int3 Sample(Texture3D, sampler, float3 location, int3 offset); native int3 Sample(TextureCube, sampler, float3 location); native int4 Sample(Texture1D, sampler, float location); native int4 Sample(Texture1DArray, sampler, float2 location); native int4 Sample(Texture2D, sampler, float2 location); native int4 Sample(Texture2D, sampler, float2 location, int2 offset); native int4 Sample(Texture2DArray, sampler, float3 location); native int4 Sample(Texture2DArray, sampler, float3 location, int2 offset); native int4 Sample(Texture3D, sampler, float3 location); native int4 Sample(Texture3D, sampler, float3 location, int3 offset); native int4 Sample(TextureCube, sampler, float3 location); native float Sample(Texture1D, sampler, float location); native float Sample(Texture1DArray, sampler, float2 location); native float Sample(Texture2D, sampler, float2 location); native float Sample(Texture2D, sampler, float2 location, int2 offset); native float Sample(Texture2DArray, sampler, float3 location); native float Sample(Texture2DArray, sampler, float3 location, int2 offset); native float Sample(Texture3D, sampler, float3 location); native float Sample(Texture3D, sampler, float3 location, int3 offset); native float Sample(TextureCube, sampler, float3 location); native float2 Sample(Texture1D, sampler, float location); native float2 Sample(Texture1DArray, sampler, float2 location); native float2 Sample(Texture2D, sampler, float2 location); native float2 Sample(Texture2D, sampler, float2 location, int2 offset); native float2 Sample(Texture2DArray, sampler, float3 location); native float2 Sample(Texture2DArray, sampler, float3 location, int2 offset); native float2 Sample(Texture3D, sampler, float3 location); native float2 Sample(Texture3D, sampler, float3 location, int3 offset); native float2 Sample(TextureCube, sampler, float3 location); native float3 Sample(Texture1D, sampler, float location); native float3 Sample(Texture1DArray, sampler, float2 location); native float3 Sample(Texture2D, sampler, float2 location); native float3 Sample(Texture2D, sampler, float2 location, int2 offset); native float3 Sample(Texture2DArray, sampler, float3 location); native float3 Sample(Texture2DArray, sampler, float3 location, int2 offset); native float3 Sample(Texture3D, sampler, float3 location); native float3 Sample(Texture3D, sampler, float3 location, int3 offset); native float3 Sample(TextureCube, sampler, float3 location); native float4 Sample(Texture1D, sampler, float location); native float4 Sample(Texture1DArray, sampler, float2 location); native float4 Sample(Texture2D, sampler, float2 location); native float4 Sample(Texture2D, sampler, float2 location, int2 offset); native float4 Sample(Texture2DArray, sampler, float3 location); native float4 Sample(Texture2DArray, sampler, float3 location, int2 offset); native float4 Sample(Texture3D, sampler, float3 location); native float4 Sample(Texture3D, sampler, float3 location, int3 offset); native float4 Sample(TextureCube, sampler, float3 location); native float Sample(TextureDepth2D, sampler, float2 location); native float Sample(TextureDepth2D, sampler, float2 location, int2 offset); native float Sample(TextureDepth2DArray, sampler, float3 location); native float Sample(TextureDepth2DArray, sampler, float3 location, int2 offset); native float Sample(TextureDepthCube, sampler, float3 location); /* Functions named SampleLevel */ native uint SampleLevel(Texture2D, sampler, float2 location, float LOD); native uint SampleLevel(Texture2D, sampler, float2 location, float LOD, int2 offset); native uint SampleLevel(Texture2DArray, sampler, float3 location, float LOD); native uint SampleLevel(Texture2DArray, sampler, float3 location, float LOD, int2 offset); native uint SampleLevel(TextureCube, sampler, float3 location, float LOD); native uint2 SampleLevel(Texture2D, sampler, float2 location, float LOD); native uint2 SampleLevel(Texture2D, sampler, float2 location, float LOD, int2 offset); native uint2 SampleLevel(Texture2DArray, sampler, float3 location, float LOD); native uint2 SampleLevel(Texture2DArray, sampler, float3 location, float LOD, int2 offset); native uint2 SampleLevel(TextureCube, sampler, float3 location, float LOD); native uint3 SampleLevel(Texture2D, sampler, float2 location, float LOD); native uint3 SampleLevel(Texture2D, sampler, float2 location, float LOD, int2 offset); native uint3 SampleLevel(Texture2DArray, sampler, float3 location, float LOD); native uint3 SampleLevel(Texture2DArray, sampler, float3 location, float LOD, int2 offset); native uint3 SampleLevel(TextureCube, sampler, float3 location, float LOD); native uint4 SampleLevel(Texture2D, sampler, float2 location, float LOD); native uint4 SampleLevel(Texture2D, sampler, float2 location, float LOD, int2 offset); native uint4 SampleLevel(Texture2DArray, sampler, float3 location, float LOD); native uint4 SampleLevel(Texture2DArray, sampler, float3 location, float LOD, int2 offset); native uint4 SampleLevel(TextureCube, sampler, float3 location, float LOD); native int SampleLevel(Texture2D, sampler, float2 location, float LOD); native int SampleLevel(Texture2D, sampler, float2 location, float LOD, int2 offset); native int SampleLevel(Texture2DArray, sampler, float3 location, float LOD); native int SampleLevel(Texture2DArray, sampler, float3 location, float LOD, int2 offset); native int SampleLevel(TextureCube, sampler, float3 location, float LOD); native int2 SampleLevel(Texture2D, sampler, float2 location, float LOD); native int2 SampleLevel(Texture2D, sampler, float2 location, float LOD, int2 offset); native int2 SampleLevel(Texture2DArray, sampler, float3 location, float LOD); native int2 SampleLevel(Texture2DArray, sampler, float3 location, float LOD, int2 offset); native int2 SampleLevel(TextureCube, sampler, float3 location, float LOD); native int3 SampleLevel(Texture2D, sampler, float2 location, float LOD); native int3 SampleLevel(Texture2D, sampler, float2 location, float LOD, int2 offset); native int3 SampleLevel(Texture2DArray, sampler, float3 location, float LOD); native int3 SampleLevel(Texture2DArray, sampler, float3 location, float LOD, int2 offset); native int3 SampleLevel(TextureCube, sampler, float3 location, float LOD); native int4 SampleLevel(Texture2D, sampler, float2 location, float LOD); native int4 SampleLevel(Texture2D, sampler, float2 location, float LOD, int2 offset); native int4 SampleLevel(Texture2DArray, sampler, float3 location, float LOD); native int4 SampleLevel(Texture2DArray, sampler, float3 location, float LOD, int2 offset); native int4 SampleLevel(TextureCube, sampler, float3 location, float LOD); native float SampleLevel(Texture2D, sampler, float2 location, float LOD); native float SampleLevel(Texture2D, sampler, float2 location, float LOD, int2 offset); native float SampleLevel(Texture2DArray, sampler, float3 location, float LOD); native float SampleLevel(Texture2DArray, sampler, float3 location, float LOD, int2 offset); native float SampleLevel(TextureCube, sampler, float3 location, float LOD); native float2 SampleLevel(Texture2D, sampler, float2 location, float LOD); native float2 SampleLevel(Texture2D, sampler, float2 location, float LOD, int2 offset); native float2 SampleLevel(Texture2DArray, sampler, float3 location, float LOD); native float2 SampleLevel(Texture2DArray, sampler, float3 location, float LOD, int2 offset); native float2 SampleLevel(TextureCube, sampler, float3 location, float LOD); native float3 SampleLevel(Texture2D, sampler, float2 location, float LOD); native float3 SampleLevel(Texture2D, sampler, float2 location, float LOD, int2 offset); native float3 SampleLevel(Texture2DArray, sampler, float3 location, float LOD); native float3 SampleLevel(Texture2DArray, sampler, float3 location, float LOD, int2 offset); native float3 SampleLevel(TextureCube, sampler, float3 location, float LOD); native float4 SampleLevel(Texture2D, sampler, float2 location, float LOD); native float4 SampleLevel(Texture2D, sampler, float2 location, float LOD, int2 offset); native float4 SampleLevel(Texture2DArray, sampler, float3 location, float LOD); native float4 SampleLevel(Texture2DArray, sampler, float3 location, float LOD, int2 offset); native float4 SampleLevel(TextureCube, sampler, float3 location, float LOD); native float SampleLevel(TextureDepth2D, sampler, float2 location, float LOD); native float SampleLevel(TextureDepth2D, sampler, float2 location, float LOD, int2 offset); native float SampleLevel(TextureDepth2DArray, sampler, float3 location, float LOD); native float SampleLevel(TextureDepth2DArray, sampler, float3 location, float LOD, int2 offset); native float SampleLevel(TextureDepthCube, sampler, float3 location, float LOD); /* Functions named SampleBias */ native uint SampleBias(Texture2D, sampler, float2 location, float Bias); native uint SampleBias(Texture2D, sampler, float2 location, float Bias, int2 offset); native uint SampleBias(Texture2DArray, sampler, float3 location, float Bias); native uint SampleBias(Texture2DArray, sampler, float3 location, float Bias, int2 offset); native uint SampleBias(TextureCube, sampler, float3 location, float Bias); native uint2 SampleBias(Texture2D, sampler, float2 location, float Bias); native uint2 SampleBias(Texture2D, sampler, float2 location, float Bias, int2 offset); native uint2 SampleBias(Texture2DArray, sampler, float3 location, float Bias); native uint2 SampleBias(Texture2DArray, sampler, float3 location, float Bias, int2 offset); native uint2 SampleBias(TextureCube, sampler, float3 location, float Bias); native uint3 SampleBias(Texture2D, sampler, float2 location, float Bias); native uint3 SampleBias(Texture2D, sampler, float2 location, float Bias, int2 offset); native uint3 SampleBias(Texture2DArray, sampler, float3 location, float Bias); native uint3 SampleBias(Texture2DArray, sampler, float3 location, float Bias, int2 offset); native uint3 SampleBias(TextureCube, sampler, float3 location, float Bias); native uint4 SampleBias(Texture2D, sampler, float2 location, float Bias); native uint4 SampleBias(Texture2D, sampler, float2 location, float Bias, int2 offset); native uint4 SampleBias(Texture2DArray, sampler, float3 location, float Bias); native uint4 SampleBias(Texture2DArray, sampler, float3 location, float Bias, int2 offset); native uint4 SampleBias(TextureCube, sampler, float3 location, float Bias); native int SampleBias(Texture2D, sampler, float2 location, float Bias); native int SampleBias(Texture2D, sampler, float2 location, float Bias, int2 offset); native int SampleBias(Texture2DArray, sampler, float3 location, float Bias); native int SampleBias(Texture2DArray, sampler, float3 location, float Bias, int2 offset); native int SampleBias(TextureCube, sampler, float3 location, float Bias); native int2 SampleBias(Texture2D, sampler, float2 location, float Bias); native int2 SampleBias(Texture2D, sampler, float2 location, float Bias, int2 offset); native int2 SampleBias(Texture2DArray, sampler, float3 location, float Bias); native int2 SampleBias(Texture2DArray, sampler, float3 location, float Bias, int2 offset); native int2 SampleBias(TextureCube, sampler, float3 location, float Bias); native int3 SampleBias(Texture2D, sampler, float2 location, float Bias); native int3 SampleBias(Texture2D, sampler, float2 location, float Bias, int2 offset); native int3 SampleBias(Texture2DArray, sampler, float3 location, float Bias); native int3 SampleBias(Texture2DArray, sampler, float3 location, float Bias, int2 offset); native int3 SampleBias(TextureCube, sampler, float3 location, float Bias); native int4 SampleBias(Texture2D, sampler, float2 location, float Bias); native int4 SampleBias(Texture2D, sampler, float2 location, float Bias, int2 offset); native int4 SampleBias(Texture2DArray, sampler, float3 location, float Bias); native int4 SampleBias(Texture2DArray, sampler, float3 location, float Bias, int2 offset); native int4 SampleBias(TextureCube, sampler, float3 location, float Bias); native float SampleBias(Texture2D, sampler, float2 location, float Bias); native float SampleBias(Texture2D, sampler, float2 location, float Bias, int2 offset); native float SampleBias(Texture2DArray, sampler, float3 location, float Bias); native float SampleBias(Texture2DArray, sampler, float3 location, float Bias, int2 offset); native float SampleBias(TextureCube, sampler, float3 location, float Bias); native float2 SampleBias(Texture2D, sampler, float2 location, float Bias); native float2 SampleBias(Texture2D, sampler, float2 location, float Bias, int2 offset); native float2 SampleBias(Texture2DArray, sampler, float3 location, float Bias); native float2 SampleBias(Texture2DArray, sampler, float3 location, float Bias, int2 offset); native float2 SampleBias(TextureCube, sampler, float3 location, float Bias); native float3 SampleBias(Texture2D, sampler, float2 location, float Bias); native float3 SampleBias(Texture2D, sampler, float2 location, float Bias, int2 offset); native float3 SampleBias(Texture2DArray, sampler, float3 location, float Bias); native float3 SampleBias(Texture2DArray, sampler, float3 location, float Bias, int2 offset); native float3 SampleBias(TextureCube, sampler, float3 location, float Bias); native float4 SampleBias(Texture2D, sampler, float2 location, float Bias); native float4 SampleBias(Texture2D, sampler, float2 location, float Bias, int2 offset); native float4 SampleBias(Texture2DArray, sampler, float3 location, float Bias); native float4 SampleBias(Texture2DArray, sampler, float3 location, float Bias, int2 offset); native float4 SampleBias(TextureCube, sampler, float3 location, float Bias); native float SampleBias(TextureDepth2D, sampler, float2 location, float Bias); native float SampleBias(TextureDepth2D, sampler, float2 location, float Bias, int2 offset); native float SampleBias(TextureDepth2DArray, sampler, float3 location, float Bias); native float SampleBias(TextureDepth2DArray, sampler, float3 location, float Bias, int2 offset); native float SampleBias(TextureDepthCube, sampler, float3 location, float Bias); /* Functions named SampleGrad */ native uint SampleGrad(Texture2D, sampler, float2 location, float2 DDX, float2 DDY); native uint SampleGrad(Texture2D, sampler, float2 location, float2 DDX, float2 DDY, int2 offset); native uint SampleGrad(Texture2DArray, sampler, float3 location, float2 DDX, float2 DDY); native uint SampleGrad(Texture2DArray, sampler, float3 location, float2 DDX, float2 DDY, int2 offset); native uint SampleGrad(TextureCube, sampler, float3 location, float3 DDX, float3 DDY); native uint2 SampleGrad(Texture2D, sampler, float2 location, float2 DDX, float2 DDY); native uint2 SampleGrad(Texture2D, sampler, float2 location, float2 DDX, float2 DDY, int2 offset); native uint2 SampleGrad(Texture2DArray, sampler, float3 location, float2 DDX, float2 DDY); native uint2 SampleGrad(Texture2DArray, sampler, float3 location, float2 DDX, float2 DDY, int2 offset); native uint2 SampleGrad(TextureCube, sampler, float3 location, float3 DDX, float3 DDY); native uint3 SampleGrad(Texture2D, sampler, float2 location, float2 DDX, float2 DDY); native uint3 SampleGrad(Texture2D, sampler, float2 location, float2 DDX, float2 DDY, int2 offset); native uint3 SampleGrad(Texture2DArray, sampler, float3 location, float2 DDX, float2 DDY); native uint3 SampleGrad(Texture2DArray, sampler, float3 location, float2 DDX, float2 DDY, int2 offset); native uint3 SampleGrad(TextureCube, sampler, float3 location, float3 DDX, float3 DDY); native uint4 SampleGrad(Texture2D, sampler, float2 location, float2 DDX, float2 DDY); native uint4 SampleGrad(Texture2D, sampler, float2 location, float2 DDX, float2 DDY, int2 offset); native uint4 SampleGrad(Texture2DArray, sampler, float3 location, float2 DDX, float2 DDY); native uint4 SampleGrad(Texture2DArray, sampler, float3 location, float2 DDX, float2 DDY, int2 offset); native uint4 SampleGrad(TextureCube, sampler, float3 location, float3 DDX, float3 DDY); native int SampleGrad(Texture2D, sampler, float2 location, float2 DDX, float2 DDY); native int SampleGrad(Texture2D, sampler, float2 location, float2 DDX, float2 DDY, int2 offset); native int SampleGrad(Texture2DArray, sampler, float3 location, float2 DDX, float2 DDY); native int SampleGrad(Texture2DArray, sampler, float3 location, float2 DDX, float2 DDY, int2 offset); native int SampleGrad(TextureCube, sampler, float3 location, float3 DDX, float3 DDY); native int2 SampleGrad(Texture2D, sampler, float2 location, float2 DDX, float2 DDY); native int2 SampleGrad(Texture2D, sampler, float2 location, float2 DDX, float2 DDY, int2 offset); native int2 SampleGrad(Texture2DArray, sampler, float3 location, float2 DDX, float2 DDY); native int2 SampleGrad(Texture2DArray, sampler, float3 location, float2 DDX, float2 DDY, int2 offset); native int2 SampleGrad(TextureCube, sampler, float3 location, float3 DDX, float3 DDY); native int3 SampleGrad(Texture2D, sampler, float2 location, float2 DDX, float2 DDY); native int3 SampleGrad(Texture2D, sampler, float2 location, float2 DDX, float2 DDY, int2 offset); native int3 SampleGrad(Texture2DArray, sampler, float3 location, float2 DDX, float2 DDY); native int3 SampleGrad(Texture2DArray, sampler, float3 location, float2 DDX, float2 DDY, int2 offset); native int3 SampleGrad(TextureCube, sampler, float3 location, float3 DDX, float3 DDY); native int4 SampleGrad(Texture2D, sampler, float2 location, float2 DDX, float2 DDY); native int4 SampleGrad(Texture2D, sampler, float2 location, float2 DDX, float2 DDY, int2 offset); native int4 SampleGrad(Texture2DArray, sampler, float3 location, float2 DDX, float2 DDY); native int4 SampleGrad(Texture2DArray, sampler, float3 location, float2 DDX, float2 DDY, int2 offset); native int4 SampleGrad(TextureCube, sampler, float3 location, float3 DDX, float3 DDY); native float SampleGrad(Texture2D, sampler, float2 location, float2 DDX, float2 DDY); native float SampleGrad(Texture2D, sampler, float2 location, float2 DDX, float2 DDY, int2 offset); native float SampleGrad(Texture2DArray, sampler, float3 location, float2 DDX, float2 DDY); native float SampleGrad(Texture2DArray, sampler, float3 location, float2 DDX, float2 DDY, int2 offset); native float SampleGrad(TextureCube, sampler, float3 location, float3 DDX, float3 DDY); native float2 SampleGrad(Texture2D, sampler, float2 location, float2 DDX, float2 DDY); native float2 SampleGrad(Texture2D, sampler, float2 location, float2 DDX, float2 DDY, int2 offset); native float2 SampleGrad(Texture2DArray, sampler, float3 location, float2 DDX, float2 DDY); native float2 SampleGrad(Texture2DArray, sampler, float3 location, float2 DDX, float2 DDY, int2 offset); native float2 SampleGrad(TextureCube, sampler, float3 location, float3 DDX, float3 DDY); native float3 SampleGrad(Texture2D, sampler, float2 location, float2 DDX, float2 DDY); native float3 SampleGrad(Texture2D, sampler, float2 location, float2 DDX, float2 DDY, int2 offset); native float3 SampleGrad(Texture2DArray, sampler, float3 location, float2 DDX, float2 DDY); native float3 SampleGrad(Texture2DArray, sampler, float3 location, float2 DDX, float2 DDY, int2 offset); native float3 SampleGrad(TextureCube, sampler, float3 location, float3 DDX, float3 DDY); native float4 SampleGrad(Texture2D, sampler, float2 location, float2 DDX, float2 DDY); native float4 SampleGrad(Texture2D, sampler, float2 location, float2 DDX, float2 DDY, int2 offset); native float4 SampleGrad(Texture2DArray, sampler, float3 location, float2 DDX, float2 DDY); native float4 SampleGrad(Texture2DArray, sampler, float3 location, float2 DDX, float2 DDY, int2 offset); native float4 SampleGrad(TextureCube, sampler, float3 location, float3 DDX, float3 DDY); native float SampleGrad(TextureDepth2D, sampler, float2 location, float2 DDX, float2 DDY); native float SampleGrad(TextureDepth2D, sampler, float2 location, float2 DDX, float2 DDY, int2 offset); native float SampleGrad(TextureDepth2DArray, sampler, float3 location, float2 DDX, float2 DDY); native float SampleGrad(TextureDepth2DArray, sampler, float3 location, float2 DDX, float2 DDY, int2 offset); native float SampleGrad(TextureDepthCube, sampler, float3 location, float3 DDX, float3 DDY); /* 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[1][0] = sinh(x[1][0]); result[0][1] = sinh(x[0][1]); result[1][1] = sinh(x[1][1]); return result; } float3x2 sinh(float3x2 x) { float3x2 result; result[0][0] = sinh(x[0][0]); result[1][0] = sinh(x[1][0]); result[2][0] = sinh(x[2][0]); result[0][1] = sinh(x[0][1]); result[1][1] = sinh(x[1][1]); result[2][1] = sinh(x[2][1]); return result; } float4x2 sinh(float4x2 x) { float4x2 result; result[0][0] = sinh(x[0][0]); result[1][0] = sinh(x[1][0]); result[2][0] = sinh(x[2][0]); result[3][0] = sinh(x[3][0]); result[0][1] = sinh(x[0][1]); result[1][1] = sinh(x[1][1]); result[2][1] = sinh(x[2][1]); result[3][1] = sinh(x[3][1]); return result; } float2x3 sinh(float2x3 x) { float2x3 result; result[0][0] = sinh(x[0][0]); result[1][0] = sinh(x[1][0]); result[0][1] = sinh(x[0][1]); result[1][1] = sinh(x[1][1]); result[0][2] = sinh(x[0][2]); result[1][2] = sinh(x[1][2]); return result; } float3x3 sinh(float3x3 x) { float3x3 result; result[0][0] = sinh(x[0][0]); result[1][0] = sinh(x[1][0]); result[2][0] = sinh(x[2][0]); result[0][1] = sinh(x[0][1]); result[1][1] = sinh(x[1][1]); result[2][1] = sinh(x[2][1]); result[0][2] = sinh(x[0][2]); result[1][2] = sinh(x[1][2]); result[2][2] = sinh(x[2][2]); return result; } float4x3 sinh(float4x3 x) { float4x3 result; result[0][0] = sinh(x[0][0]); result[1][0] = sinh(x[1][0]); result[2][0] = sinh(x[2][0]); result[3][0] = sinh(x[3][0]); result[0][1] = sinh(x[0][1]); result[1][1] = sinh(x[1][1]); result[2][1] = sinh(x[2][1]); result[3][1] = sinh(x[3][1]); result[0][2] = sinh(x[0][2]); result[1][2] = sinh(x[1][2]); result[2][2] = sinh(x[2][2]); result[3][2] = sinh(x[3][2]); return result; } float2x4 sinh(float2x4 x) { float2x4 result; result[0][0] = sinh(x[0][0]); result[1][0] = sinh(x[1][0]); result[0][1] = sinh(x[0][1]); result[1][1] = sinh(x[1][1]); result[0][2] = sinh(x[0][2]); result[1][2] = sinh(x[1][2]); result[0][3] = sinh(x[0][3]); result[1][3] = sinh(x[1][3]); return result; } float3x4 sinh(float3x4 x) { float3x4 result; result[0][0] = sinh(x[0][0]); result[1][0] = sinh(x[1][0]); result[2][0] = sinh(x[2][0]); result[0][1] = sinh(x[0][1]); result[1][1] = sinh(x[1][1]); result[2][1] = sinh(x[2][1]); result[0][2] = sinh(x[0][2]); result[1][2] = sinh(x[1][2]); result[2][2] = sinh(x[2][2]); result[0][3] = sinh(x[0][3]); result[1][3] = sinh(x[1][3]); result[2][3] = sinh(x[2][3]); return result; } float4x4 sinh(float4x4 x) { float4x4 result; result[0][0] = sinh(x[0][0]); result[1][0] = sinh(x[1][0]); result[2][0] = sinh(x[2][0]); result[3][0] = sinh(x[3][0]); result[0][1] = sinh(x[0][1]); result[1][1] = sinh(x[1][1]); result[2][1] = sinh(x[2][1]); result[3][1] = sinh(x[3][1]); result[0][2] = sinh(x[0][2]); result[1][2] = sinh(x[1][2]); result[2][2] = sinh(x[2][2]); result[3][2] = sinh(x[3][2]); result[0][3] = sinh(x[0][3]); result[1][3] = sinh(x[1][3]); result[2][3] = sinh(x[2][3]); 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[1][0] = ddy(x[1][0]); result[0][1] = ddy(x[0][1]); result[1][1] = ddy(x[1][1]); return result; } float3x2 ddy(float3x2 x) { float3x2 result; result[0][0] = ddy(x[0][0]); result[1][0] = ddy(x[1][0]); result[2][0] = ddy(x[2][0]); result[0][1] = ddy(x[0][1]); result[1][1] = ddy(x[1][1]); result[2][1] = ddy(x[2][1]); return result; } float4x2 ddy(float4x2 x) { float4x2 result; result[0][0] = ddy(x[0][0]); result[1][0] = ddy(x[1][0]); result[2][0] = ddy(x[2][0]); result[3][0] = ddy(x[3][0]); result[0][1] = ddy(x[0][1]); result[1][1] = ddy(x[1][1]); result[2][1] = ddy(x[2][1]); result[3][1] = ddy(x[3][1]); return result; } float2x3 ddy(float2x3 x) { float2x3 result; result[0][0] = ddy(x[0][0]); result[1][0] = ddy(x[1][0]); result[0][1] = ddy(x[0][1]); result[1][1] = ddy(x[1][1]); result[0][2] = ddy(x[0][2]); result[1][2] = ddy(x[1][2]); return result; } float3x3 ddy(float3x3 x) { float3x3 result; result[0][0] = ddy(x[0][0]); result[1][0] = ddy(x[1][0]); result[2][0] = ddy(x[2][0]); result[0][1] = ddy(x[0][1]); result[1][1] = ddy(x[1][1]); result[2][1] = ddy(x[2][1]); result[0][2] = ddy(x[0][2]); result[1][2] = ddy(x[1][2]); result[2][2] = ddy(x[2][2]); return result; } float4x3 ddy(float4x3 x) { float4x3 result; result[0][0] = ddy(x[0][0]); result[1][0] = ddy(x[1][0]); result[2][0] = ddy(x[2][0]); result[3][0] = ddy(x[3][0]); result[0][1] = ddy(x[0][1]); result[1][1] = ddy(x[1][1]); result[2][1] = ddy(x[2][1]); result[3][1] = ddy(x[3][1]); result[0][2] = ddy(x[0][2]); result[1][2] = ddy(x[1][2]); result[2][2] = ddy(x[2][2]); result[3][2] = ddy(x[3][2]); return result; } float2x4 ddy(float2x4 x) { float2x4 result; result[0][0] = ddy(x[0][0]); result[1][0] = ddy(x[1][0]); result[0][1] = ddy(x[0][1]); result[1][1] = ddy(x[1][1]); result[0][2] = ddy(x[0][2]); result[1][2] = ddy(x[1][2]); result[0][3] = ddy(x[0][3]); result[1][3] = ddy(x[1][3]); return result; } float3x4 ddy(float3x4 x) { float3x4 result; result[0][0] = ddy(x[0][0]); result[1][0] = ddy(x[1][0]); result[2][0] = ddy(x[2][0]); result[0][1] = ddy(x[0][1]); result[1][1] = ddy(x[1][1]); result[2][1] = ddy(x[2][1]); result[0][2] = ddy(x[0][2]); result[1][2] = ddy(x[1][2]); result[2][2] = ddy(x[2][2]); result[0][3] = ddy(x[0][3]); result[1][3] = ddy(x[1][3]); result[2][3] = ddy(x[2][3]); return result; } float4x4 ddy(float4x4 x) { float4x4 result; result[0][0] = ddy(x[0][0]); result[1][0] = ddy(x[1][0]); result[2][0] = ddy(x[2][0]); result[3][0] = ddy(x[3][0]); result[0][1] = ddy(x[0][1]); result[1][1] = ddy(x[1][1]); result[2][1] = ddy(x[2][1]); result[3][1] = ddy(x[3][1]); result[0][2] = ddy(x[0][2]); result[1][2] = ddy(x[1][2]); result[2][2] = ddy(x[2][2]); result[3][2] = ddy(x[3][2]); result[0][3] = ddy(x[0][3]); result[1][3] = ddy(x[1][3]); result[2][3] = ddy(x[2][3]); 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 bool3x2 operator>=(float3x2, float3x2); native bool4x2 operator>=(float4x2, float4x2); native bool2x3 operator>=(float2x3, float2x3); native bool3x3 operator>=(float3x3, float3x3); native bool4x3 operator>=(float4x3, float4x3); native bool2x4 operator>=(float2x4, float2x4); native bool3x4 operator>=(float3x4, float3x4); 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 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 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; } float3x2 asfloat(float3x2 x) { return x; } float4x2 asfloat(float4x2 x) { return x; } float2x3 asfloat(float2x3 x) { return x; } float3x3 asfloat(float3x3 x) { return x; } float4x3 asfloat(float4x3 x) { return x; } float2x4 asfloat(float2x4 x) { return x; } float3x4 asfloat(float3x4 x) { return x; } float4x4 asfloat(float4x4 x) { return x; } /* 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 GetDimensions */ native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, thread uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, device uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1D, threadgroup uint* Width); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, thread uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, device uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, thread uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, device uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture1DArray, threadgroup uint* Width, threadgroup uint* Elements); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(Texture2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(Texture2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, thread uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, device uint* NumberOfLevels); native void GetDimensions(Texture3D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Depth, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2D, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2D, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2D, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2D, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2D, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2D, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2D, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2D, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2D, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2D, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2D, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2D, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2D, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2D, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2D, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2D, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2D, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2D, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2D, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2D, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2D, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, thread uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, thread uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, thread uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, device uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, device uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, device uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, device uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, thread uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, device uint* NumberOfLevels); native void GetDimensions(TextureDepth2DArray, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* Elements, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepthCube, uint MipLevel, thread uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureDepthCube, uint MipLevel, thread uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureDepthCube, uint MipLevel, thread uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepthCube, uint MipLevel, thread uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureDepthCube, uint MipLevel, thread uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureDepthCube, uint MipLevel, thread uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepthCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureDepthCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureDepthCube, uint MipLevel, thread uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepthCube, uint MipLevel, device uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureDepthCube, uint MipLevel, device uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureDepthCube, uint MipLevel, device uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepthCube, uint MipLevel, device uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureDepthCube, uint MipLevel, device uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureDepthCube, uint MipLevel, device uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepthCube, uint MipLevel, device uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureDepthCube, uint MipLevel, device uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureDepthCube, uint MipLevel, device uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepthCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureDepthCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureDepthCube, uint MipLevel, threadgroup uint* Width, thread uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepthCube, uint MipLevel, threadgroup uint* Width, device uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureDepthCube, uint MipLevel, threadgroup uint* Width, device uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureDepthCube, uint MipLevel, threadgroup uint* Width, device uint* Height, threadgroup uint* NumberOfLevels); native void GetDimensions(TextureDepthCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, thread uint* NumberOfLevels); native void GetDimensions(TextureDepthCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, device uint* NumberOfLevels); native void GetDimensions(TextureDepthCube, uint MipLevel, threadgroup uint* Width, threadgroup uint* Height, threadgroup uint* NumberOfLevels); /* 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 float3x2 operator+(float3x2, float3x2); native float3x2 operator+(float, float3x2); native float3x2 operator+(float3x2, float); native float4x2 operator+(float4x2, float4x2); native float4x2 operator+(float, float4x2); native float4x2 operator+(float4x2, float); native float2x3 operator+(float2x3, float2x3); native float2x3 operator+(float, float2x3); native float2x3 operator+(float2x3, float); native float3x3 operator+(float3x3, float3x3); native float3x3 operator+(float, float3x3); native float3x3 operator+(float3x3, float); native float4x3 operator+(float4x3, float4x3); native float4x3 operator+(float, float4x3); native float4x3 operator+(float4x3, float); native float2x4 operator+(float2x4, float2x4); native float2x4 operator+(float, float2x4); native float2x4 operator+(float2x4, float); native float3x4 operator+(float3x4, float3x4); native float3x4 operator+(float, float3x4); native float3x4 operator+(float3x4, 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 float3x2 operator+(float3x2); native float4x2 operator+(float4x2); native float2x3 operator+(float2x3); native float3x3 operator+(float3x3); native float4x3 operator+(float4x3); native float2x4 operator+(float2x4); native float3x4 operator+(float3x4); native float4x4 operator+(float4x4); /* 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[1][0] = frac(x[1][0]); result[0][1] = frac(x[0][1]); result[1][1] = frac(x[1][1]); return result; } float3x2 frac(float3x2 x) { float3x2 result; result[0][0] = frac(x[0][0]); result[1][0] = frac(x[1][0]); result[2][0] = frac(x[2][0]); result[0][1] = frac(x[0][1]); result[1][1] = frac(x[1][1]); result[2][1] = frac(x[2][1]); return result; } float4x2 frac(float4x2 x) { float4x2 result; result[0][0] = frac(x[0][0]); result[1][0] = frac(x[1][0]); result[2][0] = frac(x[2][0]); result[3][0] = frac(x[3][0]); result[0][1] = frac(x[0][1]); result[1][1] = frac(x[1][1]); result[2][1] = frac(x[2][1]); result[3][1] = frac(x[3][1]); return result; } float2x3 frac(float2x3 x) { float2x3 result; result[0][0] = frac(x[0][0]); result[1][0] = frac(x[1][0]); result[0][1] = frac(x[0][1]); result[1][1] = frac(x[1][1]); result[0][2] = frac(x[0][2]); result[1][2] = frac(x[1][2]); return result; } float3x3 frac(float3x3 x) { float3x3 result; result[0][0] = frac(x[0][0]); result[1][0] = frac(x[1][0]); result[2][0] = frac(x[2][0]); result[0][1] = frac(x[0][1]); result[1][1] = frac(x[1][1]); result[2][1] = frac(x[2][1]); result[0][2] = frac(x[0][2]); result[1][2] = frac(x[1][2]); result[2][2] = frac(x[2][2]); return result; } float4x3 frac(float4x3 x) { float4x3 result; result[0][0] = frac(x[0][0]); result[1][0] = frac(x[1][0]); result[2][0] = frac(x[2][0]); result[3][0] = frac(x[3][0]); result[0][1] = frac(x[0][1]); result[1][1] = frac(x[1][1]); result[2][1] = frac(x[2][1]); result[3][1] = frac(x[3][1]); result[0][2] = frac(x[0][2]); result[1][2] = frac(x[1][2]); result[2][2] = frac(x[2][2]); result[3][2] = frac(x[3][2]); return result; } float2x4 frac(float2x4 x) { float2x4 result; result[0][0] = frac(x[0][0]); result[1][0] = frac(x[1][0]); result[0][1] = frac(x[0][1]); result[1][1] = frac(x[1][1]); result[0][2] = frac(x[0][2]); result[1][2] = frac(x[1][2]); result[0][3] = frac(x[0][3]); result[1][3] = frac(x[1][3]); return result; } float3x4 frac(float3x4 x) { float3x4 result; result[0][0] = frac(x[0][0]); result[1][0] = frac(x[1][0]); result[2][0] = frac(x[2][0]); result[0][1] = frac(x[0][1]); result[1][1] = frac(x[1][1]); result[2][1] = frac(x[2][1]); result[0][2] = frac(x[0][2]); result[1][2] = frac(x[1][2]); result[2][2] = frac(x[2][2]); result[0][3] = frac(x[0][3]); result[1][3] = frac(x[1][3]); result[2][3] = frac(x[2][3]); return result; } float4x4 frac(float4x4 x) { float4x4 result; result[0][0] = frac(x[0][0]); result[1][0] = frac(x[1][0]); result[2][0] = frac(x[2][0]); result[3][0] = frac(x[3][0]); result[0][1] = frac(x[0][1]); result[1][1] = frac(x[1][1]); result[2][1] = frac(x[2][1]); result[3][1] = frac(x[3][1]); result[0][2] = frac(x[0][2]); result[1][2] = frac(x[1][2]); result[2][2] = frac(x[2][2]); result[3][2] = frac(x[3][2]); result[0][3] = frac(x[0][3]); result[1][3] = frac(x[1][3]); result[2][3] = frac(x[2][3]); 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 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 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[1][0] = log10(x[1][0]); result[0][1] = log10(x[0][1]); result[1][1] = log10(x[1][1]); return result; } float3x2 log10(float3x2 x) { float3x2 result; result[0][0] = log10(x[0][0]); result[1][0] = log10(x[1][0]); result[2][0] = log10(x[2][0]); result[0][1] = log10(x[0][1]); result[1][1] = log10(x[1][1]); result[2][1] = log10(x[2][1]); return result; } float4x2 log10(float4x2 x) { float4x2 result; result[0][0] = log10(x[0][0]); result[1][0] = log10(x[1][0]); result[2][0] = log10(x[2][0]); result[3][0] = log10(x[3][0]); result[0][1] = log10(x[0][1]); result[1][1] = log10(x[1][1]); result[2][1] = log10(x[2][1]); result[3][1] = log10(x[3][1]); return result; } float2x3 log10(float2x3 x) { float2x3 result; result[0][0] = log10(x[0][0]); result[1][0] = log10(x[1][0]); result[0][1] = log10(x[0][1]); result[1][1] = log10(x[1][1]); result[0][2] = log10(x[0][2]); result[1][2] = log10(x[1][2]); return result; } float3x3 log10(float3x3 x) { float3x3 result; result[0][0] = log10(x[0][0]); result[1][0] = log10(x[1][0]); result[2][0] = log10(x[2][0]); result[0][1] = log10(x[0][1]); result[1][1] = log10(x[1][1]); result[2][1] = log10(x[2][1]); result[0][2] = log10(x[0][2]); result[1][2] = log10(x[1][2]); result[2][2] = log10(x[2][2]); return result; } float4x3 log10(float4x3 x) { float4x3 result; result[0][0] = log10(x[0][0]); result[1][0] = log10(x[1][0]); result[2][0] = log10(x[2][0]); result[3][0] = log10(x[3][0]); result[0][1] = log10(x[0][1]); result[1][1] = log10(x[1][1]); result[2][1] = log10(x[2][1]); result[3][1] = log10(x[3][1]); result[0][2] = log10(x[0][2]); result[1][2] = log10(x[1][2]); result[2][2] = log10(x[2][2]); result[3][2] = log10(x[3][2]); return result; } float2x4 log10(float2x4 x) { float2x4 result; result[0][0] = log10(x[0][0]); result[1][0] = log10(x[1][0]); result[0][1] = log10(x[0][1]); result[1][1] = log10(x[1][1]); result[0][2] = log10(x[0][2]); result[1][2] = log10(x[1][2]); result[0][3] = log10(x[0][3]); result[1][3] = log10(x[1][3]); return result; } float3x4 log10(float3x4 x) { float3x4 result; result[0][0] = log10(x[0][0]); result[1][0] = log10(x[1][0]); result[2][0] = log10(x[2][0]); result[0][1] = log10(x[0][1]); result[1][1] = log10(x[1][1]); result[2][1] = log10(x[2][1]); result[0][2] = log10(x[0][2]); result[1][2] = log10(x[1][2]); result[2][2] = log10(x[2][2]); result[0][3] = log10(x[0][3]); result[1][3] = log10(x[1][3]); result[2][3] = log10(x[2][3]); return result; } float4x4 log10(float4x4 x) { float4x4 result; result[0][0] = log10(x[0][0]); result[1][0] = log10(x[1][0]); result[2][0] = log10(x[2][0]); result[3][0] = log10(x[3][0]); result[0][1] = log10(x[0][1]); result[1][1] = log10(x[1][1]); result[2][1] = log10(x[2][1]); result[3][1] = log10(x[3][1]); result[0][2] = log10(x[0][2]); result[1][2] = log10(x[1][2]); result[2][2] = log10(x[2][2]); result[3][2] = log10(x[3][2]); result[0][3] = log10(x[0][3]); result[1][3] = log10(x[1][3]); result[2][3] = log10(x[2][3]); 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 float3x2 operator/(float3x2, float3x2); native float3x2 operator/(float3x2, float); native float3x2 operator/(float, float3x2); native float4x2 operator/(float4x2, float4x2); native float4x2 operator/(float4x2, float); native float4x2 operator/(float, float4x2); native float2x3 operator/(float2x3, float2x3); native float2x3 operator/(float2x3, float); native float2x3 operator/(float, float2x3); native float3x3 operator/(float3x3, float3x3); native float3x3 operator/(float3x3, float); native float3x3 operator/(float, float3x3); native float4x3 operator/(float4x3, float4x3); native float4x3 operator/(float4x3, float); native float4x3 operator/(float, float4x3); native float2x4 operator/(float2x4, float2x4); native float2x4 operator/(float2x4, float); native float2x4 operator/(float, float2x4); native float3x4 operator/(float3x4, float3x4); native float3x4 operator/(float3x4, float); native float3x4 operator/(float, float3x4); native float4x4 operator/(float4x4, float4x4); native float4x4 operator/(float4x4, float); native float4x4 operator/(float, float4x4); /* 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[1][0] = ddy_fine(x[1][0]); result[0][1] = ddy_fine(x[0][1]); result[1][1] = ddy_fine(x[1][1]); return result; } float3x2 ddy_fine(float3x2 x) { float3x2 result; result[0][0] = ddy_fine(x[0][0]); result[1][0] = ddy_fine(x[1][0]); result[2][0] = ddy_fine(x[2][0]); result[0][1] = ddy_fine(x[0][1]); result[1][1] = ddy_fine(x[1][1]); result[2][1] = ddy_fine(x[2][1]); return result; } float4x2 ddy_fine(float4x2 x) { float4x2 result; result[0][0] = ddy_fine(x[0][0]); result[1][0] = ddy_fine(x[1][0]); result[2][0] = ddy_fine(x[2][0]); result[3][0] = ddy_fine(x[3][0]); result[0][1] = ddy_fine(x[0][1]); result[1][1] = ddy_fine(x[1][1]); result[2][1] = ddy_fine(x[2][1]); result[3][1] = ddy_fine(x[3][1]); return result; } float2x3 ddy_fine(float2x3 x) { float2x3 result; result[0][0] = ddy_fine(x[0][0]); result[1][0] = ddy_fine(x[1][0]); result[0][1] = ddy_fine(x[0][1]); result[1][1] = ddy_fine(x[1][1]); result[0][2] = ddy_fine(x[0][2]); result[1][2] = ddy_fine(x[1][2]); return result; } float3x3 ddy_fine(float3x3 x) { float3x3 result; result[0][0] = ddy_fine(x[0][0]); result[1][0] = ddy_fine(x[1][0]); result[2][0] = ddy_fine(x[2][0]); result[0][1] = ddy_fine(x[0][1]); result[1][1] = ddy_fine(x[1][1]); result[2][1] = ddy_fine(x[2][1]); result[0][2] = ddy_fine(x[0][2]); result[1][2] = ddy_fine(x[1][2]); result[2][2] = ddy_fine(x[2][2]); return result; } float4x3 ddy_fine(float4x3 x) { float4x3 result; result[0][0] = ddy_fine(x[0][0]); result[1][0] = ddy_fine(x[1][0]); result[2][0] = ddy_fine(x[2][0]); result[3][0] = ddy_fine(x[3][0]); result[0][1] = ddy_fine(x[0][1]); result[1][1] = ddy_fine(x[1][1]); result[2][1] = ddy_fine(x[2][1]); result[3][1] = ddy_fine(x[3][1]); result[0][2] = ddy_fine(x[0][2]); result[1][2] = ddy_fine(x[1][2]); result[2][2] = ddy_fine(x[2][2]); result[3][2] = ddy_fine(x[3][2]); return result; } float2x4 ddy_fine(float2x4 x) { float2x4 result; result[0][0] = ddy_fine(x[0][0]); result[1][0] = ddy_fine(x[1][0]); result[0][1] = ddy_fine(x[0][1]); result[1][1] = ddy_fine(x[1][1]); result[0][2] = ddy_fine(x[0][2]); result[1][2] = ddy_fine(x[1][2]); result[0][3] = ddy_fine(x[0][3]); result[1][3] = ddy_fine(x[1][3]); return result; } float3x4 ddy_fine(float3x4 x) { float3x4 result; result[0][0] = ddy_fine(x[0][0]); result[1][0] = ddy_fine(x[1][0]); result[2][0] = ddy_fine(x[2][0]); result[0][1] = ddy_fine(x[0][1]); result[1][1] = ddy_fine(x[1][1]); result[2][1] = ddy_fine(x[2][1]); result[0][2] = ddy_fine(x[0][2]); result[1][2] = ddy_fine(x[1][2]); result[2][2] = ddy_fine(x[2][2]); result[0][3] = ddy_fine(x[0][3]); result[1][3] = ddy_fine(x[1][3]); result[2][3] = ddy_fine(x[2][3]); return result; } float4x4 ddy_fine(float4x4 x) { float4x4 result; result[0][0] = ddy_fine(x[0][0]); result[1][0] = ddy_fine(x[1][0]); result[2][0] = ddy_fine(x[2][0]); result[3][0] = ddy_fine(x[3][0]); result[0][1] = ddy_fine(x[0][1]); result[1][1] = ddy_fine(x[1][1]); result[2][1] = ddy_fine(x[2][1]); result[3][1] = ddy_fine(x[3][1]); result[0][2] = ddy_fine(x[0][2]); result[1][2] = ddy_fine(x[1][2]); result[2][2] = ddy_fine(x[2][2]); result[3][2] = ddy_fine(x[3][2]); result[0][3] = ddy_fine(x[0][3]); result[1][3] = ddy_fine(x[1][3]); result[2][3] = ddy_fine(x[2][3]); result[3][3] = ddy_fine(x[3][3]); 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[1][0] != 0); result = result || (x[0][1] != 0); result = result || (x[1][1] != 0); return result; } bool any(float3x2 x) { bool result = false; result = result || (x[0][0] != 0); result = result || (x[1][0] != 0); result = result || (x[2][0] != 0); result = result || (x[0][1] != 0); result = result || (x[1][1] != 0); result = result || (x[2][1] != 0); return result; } bool any(float4x2 x) { bool result = false; result = result || (x[0][0] != 0); result = result || (x[1][0] != 0); result = result || (x[2][0] != 0); result = result || (x[3][0] != 0); result = result || (x[0][1] != 0); result = result || (x[1][1] != 0); result = result || (x[2][1] != 0); result = result || (x[3][1] != 0); return result; } bool any(float2x3 x) { bool result = false; result = result || (x[0][0] != 0); result = result || (x[1][0] != 0); result = result || (x[0][1] != 0); result = result || (x[1][1] != 0); result = result || (x[0][2] != 0); result = result || (x[1][2] != 0); return result; } bool any(float3x3 x) { bool result = false; result = result || (x[0][0] != 0); result = result || (x[1][0] != 0); result = result || (x[2][0] != 0); result = result || (x[0][1] != 0); result = result || (x[1][1] != 0); result = result || (x[2][1] != 0); result = result || (x[0][2] != 0); result = result || (x[1][2] != 0); result = result || (x[2][2] != 0); return result; } bool any(float4x3 x) { bool result = false; result = result || (x[0][0] != 0); result = result || (x[1][0] != 0); result = result || (x[2][0] != 0); result = result || (x[3][0] != 0); result = result || (x[0][1] != 0); result = result || (x[1][1] != 0); result = result || (x[2][1] != 0); result = result || (x[3][1] != 0); result = result || (x[0][2] != 0); result = result || (x[1][2] != 0); result = result || (x[2][2] != 0); result = result || (x[3][2] != 0); return result; } bool any(float2x4 x) { bool result = false; result = result || (x[0][0] != 0); result = result || (x[1][0] != 0); result = result || (x[0][1] != 0); result = result || (x[1][1] != 0); result = result || (x[0][2] != 0); result = result || (x[1][2] != 0); result = result || (x[0][3] != 0); result = result || (x[1][3] != 0); return result; } bool any(float3x4 x) { bool result = false; result = result || (x[0][0] != 0); result = result || (x[1][0] != 0); result = result || (x[2][0] != 0); result = result || (x[0][1] != 0); result = result || (x[1][1] != 0); result = result || (x[2][1] != 0); result = result || (x[0][2] != 0); result = result || (x[1][2] != 0); result = result || (x[2][2] != 0); result = result || (x[0][3] != 0); result = result || (x[1][3] != 0); result = result || (x[2][3] != 0); return result; } bool any(float4x4 x) { bool result = false; result = result || (x[0][0] != 0); result = result || (x[1][0] != 0); result = result || (x[2][0] != 0); result = result || (x[3][0] != 0); result = result || (x[0][1] != 0); result = result || (x[1][1] != 0); result = result || (x[2][1] != 0); result = result || (x[3][1] != 0); result = result || (x[0][2] != 0); result = result || (x[1][2] != 0); result = result || (x[2][2] != 0); result = result || (x[3][2] != 0); result = result || (x[0][3] != 0); result = result || (x[1][3] != 0); result = result || (x[2][3] != 0); result = result || (x[3][3] != 0); return result; } bool any(bool2x2 x) { bool result = false; result = result || x[0][0]; result = result || x[1][0]; result = result || x[0][1]; result = result || x[1][1]; return result; } bool any(bool3x2 x) { bool result = false; result = result || x[0][0]; result = result || x[1][0]; result = result || x[2][0]; result = result || x[0][1]; result = result || x[1][1]; result = result || x[2][1]; return result; } bool any(bool4x2 x) { bool result = false; result = result || x[0][0]; result = result || x[1][0]; result = result || x[2][0]; result = result || x[3][0]; result = result || x[0][1]; result = result || x[1][1]; result = result || x[2][1]; result = result || x[3][1]; return result; } bool any(bool2x3 x) { bool result = false; result = result || x[0][0]; result = result || x[1][0]; result = result || x[0][1]; result = result || x[1][1]; result = result || x[0][2]; result = result || x[1][2]; return result; } bool any(bool3x3 x) { bool result = false; result = result || x[0][0]; result = result || x[1][0]; result = result || x[2][0]; result = result || x[0][1]; result = result || x[1][1]; result = result || x[2][1]; result = result || x[0][2]; result = result || x[1][2]; result = result || x[2][2]; return result; } bool any(bool4x3 x) { bool result = false; result = result || x[0][0]; result = result || x[1][0]; result = result || x[2][0]; result = result || x[3][0]; result = result || x[0][1]; result = result || x[1][1]; result = result || x[2][1]; result = result || x[3][1]; result = result || x[0][2]; result = result || x[1][2]; result = result || x[2][2]; result = result || x[3][2]; return result; } bool any(bool2x4 x) { bool result = false; result = result || x[0][0]; result = result || x[1][0]; result = result || x[0][1]; result = result || x[1][1]; result = result || x[0][2]; result = result || x[1][2]; result = result || x[0][3]; result = result || x[1][3]; return result; } bool any(bool3x4 x) { bool result = false; result = result || x[0][0]; result = result || x[1][0]; result = result || x[2][0]; result = result || x[0][1]; result = result || x[1][1]; result = result || x[2][1]; result = result || x[0][2]; result = result || x[1][2]; result = result || x[2][2]; result = result || x[0][3]; result = result || x[1][3]; result = result || x[2][3]; return result; } bool any(bool4x4 x) { bool result = false; result = result || x[0][0]; result = result || x[1][0]; result = result || x[2][0]; result = result || x[3][0]; result = result || x[0][1]; result = result || x[1][1]; result = result || x[2][1]; result = result || x[3][1]; result = result || x[0][2]; result = result || x[1][2]; result = result || x[2][2]; result = result || x[3][2]; result = result || x[0][3]; result = result || x[1][3]; result = result || x[2][3]; result = result || x[3][3]; 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[1][0] = ddy_coarse(x[1][0]); result[0][1] = ddy_coarse(x[0][1]); result[1][1] = ddy_coarse(x[1][1]); return result; } float3x2 ddy_coarse(float3x2 x) { float3x2 result; result[0][0] = ddy_coarse(x[0][0]); result[1][0] = ddy_coarse(x[1][0]); result[2][0] = ddy_coarse(x[2][0]); result[0][1] = ddy_coarse(x[0][1]); result[1][1] = ddy_coarse(x[1][1]); result[2][1] = ddy_coarse(x[2][1]); return result; } float4x2 ddy_coarse(float4x2 x) { float4x2 result; result[0][0] = ddy_coarse(x[0][0]); result[1][0] = ddy_coarse(x[1][0]); result[2][0] = ddy_coarse(x[2][0]); result[3][0] = ddy_coarse(x[3][0]); result[0][1] = ddy_coarse(x[0][1]); result[1][1] = ddy_coarse(x[1][1]); result[2][1] = ddy_coarse(x[2][1]); result[3][1] = ddy_coarse(x[3][1]); return result; } float2x3 ddy_coarse(float2x3 x) { float2x3 result; result[0][0] = ddy_coarse(x[0][0]); result[1][0] = ddy_coarse(x[1][0]); result[0][1] = ddy_coarse(x[0][1]); result[1][1] = ddy_coarse(x[1][1]); result[0][2] = ddy_coarse(x[0][2]); result[1][2] = ddy_coarse(x[1][2]); return result; } float3x3 ddy_coarse(float3x3 x) { float3x3 result; result[0][0] = ddy_coarse(x[0][0]); result[1][0] = ddy_coarse(x[1][0]); result[2][0] = ddy_coarse(x[2][0]); result[0][1] = ddy_coarse(x[0][1]); result[1][1] = ddy_coarse(x[1][1]); result[2][1] = ddy_coarse(x[2][1]); result[0][2] = ddy_coarse(x[0][2]); result[1][2] = ddy_coarse(x[1][2]); result[2][2] = ddy_coarse(x[2][2]); return result; } float4x3 ddy_coarse(float4x3 x) { float4x3 result; result[0][0] = ddy_coarse(x[0][0]); result[1][0] = ddy_coarse(x[1][0]); result[2][0] = ddy_coarse(x[2][0]); result[3][0] = ddy_coarse(x[3][0]); result[0][1] = ddy_coarse(x[0][1]); result[1][1] = ddy_coarse(x[1][1]); result[2][1] = ddy_coarse(x[2][1]); result[3][1] = ddy_coarse(x[3][1]); result[0][2] = ddy_coarse(x[0][2]); result[1][2] = ddy_coarse(x[1][2]); result[2][2] = ddy_coarse(x[2][2]); result[3][2] = ddy_coarse(x[3][2]); return result; } float2x4 ddy_coarse(float2x4 x) { float2x4 result; result[0][0] = ddy_coarse(x[0][0]); result[1][0] = ddy_coarse(x[1][0]); result[0][1] = ddy_coarse(x[0][1]); result[1][1] = ddy_coarse(x[1][1]); result[0][2] = ddy_coarse(x[0][2]); result[1][2] = ddy_coarse(x[1][2]); result[0][3] = ddy_coarse(x[0][3]); result[1][3] = ddy_coarse(x[1][3]); return result; } float3x4 ddy_coarse(float3x4 x) { float3x4 result; result[0][0] = ddy_coarse(x[0][0]); result[1][0] = ddy_coarse(x[1][0]); result[2][0] = ddy_coarse(x[2][0]); result[0][1] = ddy_coarse(x[0][1]); result[1][1] = ddy_coarse(x[1][1]); result[2][1] = ddy_coarse(x[2][1]); result[0][2] = ddy_coarse(x[0][2]); result[1][2] = ddy_coarse(x[1][2]); result[2][2] = ddy_coarse(x[2][2]); result[0][3] = ddy_coarse(x[0][3]); result[1][3] = ddy_coarse(x[1][3]); result[2][3] = ddy_coarse(x[2][3]); return result; } float4x4 ddy_coarse(float4x4 x) { float4x4 result; result[0][0] = ddy_coarse(x[0][0]); result[1][0] = ddy_coarse(x[1][0]); result[2][0] = ddy_coarse(x[2][0]); result[3][0] = ddy_coarse(x[3][0]); result[0][1] = ddy_coarse(x[0][1]); result[1][1] = ddy_coarse(x[1][1]); result[2][1] = ddy_coarse(x[2][1]); result[3][1] = ddy_coarse(x[3][1]); result[0][2] = ddy_coarse(x[0][2]); result[1][2] = ddy_coarse(x[1][2]); result[2][2] = ddy_coarse(x[2][2]); result[3][2] = ddy_coarse(x[3][2]); result[0][3] = ddy_coarse(x[0][3]); result[1][3] = ddy_coarse(x[1][3]); result[2][3] = ddy_coarse(x[2][3]); result[3][3] = ddy_coarse(x[3][3]); 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~ */ 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[1][0] = ddx(x[1][0]); result[0][1] = ddx(x[0][1]); result[1][1] = ddx(x[1][1]); return result; } float3x2 ddx(float3x2 x) { float3x2 result; result[0][0] = ddx(x[0][0]); result[1][0] = ddx(x[1][0]); result[2][0] = ddx(x[2][0]); result[0][1] = ddx(x[0][1]); result[1][1] = ddx(x[1][1]); result[2][1] = ddx(x[2][1]); return result; } float4x2 ddx(float4x2 x) { float4x2 result; result[0][0] = ddx(x[0][0]); result[1][0] = ddx(x[1][0]); result[2][0] = ddx(x[2][0]); result[3][0] = ddx(x[3][0]); result[0][1] = ddx(x[0][1]); result[1][1] = ddx(x[1][1]); result[2][1] = ddx(x[2][1]); result[3][1] = ddx(x[3][1]); return result; } float2x3 ddx(float2x3 x) { float2x3 result; result[0][0] = ddx(x[0][0]); result[1][0] = ddx(x[1][0]); result[0][1] = ddx(x[0][1]); result[1][1] = ddx(x[1][1]); result[0][2] = ddx(x[0][2]); result[1][2] = ddx(x[1][2]); return result; } float3x3 ddx(float3x3 x) { float3x3 result; result[0][0] = ddx(x[0][0]); result[1][0] = ddx(x[1][0]); result[2][0] = ddx(x[2][0]); result[0][1] = ddx(x[0][1]); result[1][1] = ddx(x[1][1]); result[2][1] = ddx(x[2][1]); result[0][2] = ddx(x[0][2]); result[1][2] = ddx(x[1][2]); result[2][2] = ddx(x[2][2]); return result; } float4x3 ddx(float4x3 x) { float4x3 result; result[0][0] = ddx(x[0][0]); result[1][0] = ddx(x[1][0]); result[2][0] = ddx(x[2][0]); result[3][0] = ddx(x[3][0]); result[0][1] = ddx(x[0][1]); result[1][1] = ddx(x[1][1]); result[2][1] = ddx(x[2][1]); result[3][1] = ddx(x[3][1]); result[0][2] = ddx(x[0][2]); result[1][2] = ddx(x[1][2]); result[2][2] = ddx(x[2][2]); result[3][2] = ddx(x[3][2]); return result; } float2x4 ddx(float2x4 x) { float2x4 result; result[0][0] = ddx(x[0][0]); result[1][0] = ddx(x[1][0]); result[0][1] = ddx(x[0][1]); result[1][1] = ddx(x[1][1]); result[0][2] = ddx(x[0][2]); result[1][2] = ddx(x[1][2]); result[0][3] = ddx(x[0][3]); result[1][3] = ddx(x[1][3]); return result; } float3x4 ddx(float3x4 x) { float3x4 result; result[0][0] = ddx(x[0][0]); result[1][0] = ddx(x[1][0]); result[2][0] = ddx(x[2][0]); result[0][1] = ddx(x[0][1]); result[1][1] = ddx(x[1][1]); result[2][1] = ddx(x[2][1]); result[0][2] = ddx(x[0][2]); result[1][2] = ddx(x[1][2]); result[2][2] = ddx(x[2][2]); result[0][3] = ddx(x[0][3]); result[1][3] = ddx(x[1][3]); result[2][3] = ddx(x[2][3]); return result; } float4x4 ddx(float4x4 x) { float4x4 result; result[0][0] = ddx(x[0][0]); result[1][0] = ddx(x[1][0]); result[2][0] = ddx(x[2][0]); result[3][0] = ddx(x[3][0]); result[0][1] = ddx(x[0][1]); result[1][1] = ddx(x[1][1]); result[2][1] = ddx(x[2][1]); result[3][1] = ddx(x[3][1]); result[0][2] = ddx(x[0][2]); result[1][2] = ddx(x[1][2]); result[2][2] = ddx(x[2][2]); result[3][2] = ddx(x[3][2]); result[0][3] = ddx(x[0][3]); result[1][3] = ddx(x[1][3]); result[2][3] = ddx(x[2][3]); result[3][3] = ddx(x[3][3]); 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[1][0] = cosh(x[1][0]); result[0][1] = cosh(x[0][1]); result[1][1] = cosh(x[1][1]); return result; } float3x2 cosh(float3x2 x) { float3x2 result; result[0][0] = cosh(x[0][0]); result[1][0] = cosh(x[1][0]); result[2][0] = cosh(x[2][0]); result[0][1] = cosh(x[0][1]); result[1][1] = cosh(x[1][1]); result[2][1] = cosh(x[2][1]); return result; } float4x2 cosh(float4x2 x) { float4x2 result; result[0][0] = cosh(x[0][0]); result[1][0] = cosh(x[1][0]); result[2][0] = cosh(x[2][0]); result[3][0] = cosh(x[3][0]); result[0][1] = cosh(x[0][1]); result[1][1] = cosh(x[1][1]); result[2][1] = cosh(x[2][1]); result[3][1] = cosh(x[3][1]); return result; } float2x3 cosh(float2x3 x) { float2x3 result; result[0][0] = cosh(x[0][0]); result[1][0] = cosh(x[1][0]); result[0][1] = cosh(x[0][1]); result[1][1] = cosh(x[1][1]); result[0][2] = cosh(x[0][2]); result[1][2] = cosh(x[1][2]); return result; } float3x3 cosh(float3x3 x) { float3x3 result; result[0][0] = cosh(x[0][0]); result[1][0] = cosh(x[1][0]); result[2][0] = cosh(x[2][0]); result[0][1] = cosh(x[0][1]); result[1][1] = cosh(x[1][1]); result[2][1] = cosh(x[2][1]); result[0][2] = cosh(x[0][2]); result[1][2] = cosh(x[1][2]); result[2][2] = cosh(x[2][2]); return result; } float4x3 cosh(float4x3 x) { float4x3 result; result[0][0] = cosh(x[0][0]); result[1][0] = cosh(x[1][0]); result[2][0] = cosh(x[2][0]); result[3][0] = cosh(x[3][0]); result[0][1] = cosh(x[0][1]); result[1][1] = cosh(x[1][1]); result[2][1] = cosh(x[2][1]); result[3][1] = cosh(x[3][1]); result[0][2] = cosh(x[0][2]); result[1][2] = cosh(x[1][2]); result[2][2] = cosh(x[2][2]); result[3][2] = cosh(x[3][2]); return result; } float2x4 cosh(float2x4 x) { float2x4 result; result[0][0] = cosh(x[0][0]); result[1][0] = cosh(x[1][0]); result[0][1] = cosh(x[0][1]); result[1][1] = cosh(x[1][1]); result[0][2] = cosh(x[0][2]); result[1][2] = cosh(x[1][2]); result[0][3] = cosh(x[0][3]); result[1][3] = cosh(x[1][3]); return result; } float3x4 cosh(float3x4 x) { float3x4 result; result[0][0] = cosh(x[0][0]); result[1][0] = cosh(x[1][0]); result[2][0] = cosh(x[2][0]); result[0][1] = cosh(x[0][1]); result[1][1] = cosh(x[1][1]); result[2][1] = cosh(x[2][1]); result[0][2] = cosh(x[0][2]); result[1][2] = cosh(x[1][2]); result[2][2] = cosh(x[2][2]); result[0][3] = cosh(x[0][3]); result[1][3] = cosh(x[1][3]); result[2][3] = cosh(x[2][3]); return result; } float4x4 cosh(float4x4 x) { float4x4 result; result[0][0] = cosh(x[0][0]); result[1][0] = cosh(x[1][0]); result[2][0] = cosh(x[2][0]); result[3][0] = cosh(x[3][0]); result[0][1] = cosh(x[0][1]); result[1][1] = cosh(x[1][1]); result[2][1] = cosh(x[2][1]); result[3][1] = cosh(x[3][1]); result[0][2] = cosh(x[0][2]); result[1][2] = cosh(x[1][2]); result[2][2] = cosh(x[2][2]); result[3][2] = cosh(x[3][2]); result[0][3] = cosh(x[0][3]); result[1][3] = cosh(x[1][3]); result[2][3] = cosh(x[2][3]); 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[1][0] = ddx_coarse(x[1][0]); result[0][1] = ddx_coarse(x[0][1]); result[1][1] = ddx_coarse(x[1][1]); return result; } float3x2 ddx_coarse(float3x2 x) { float3x2 result; result[0][0] = ddx_coarse(x[0][0]); result[1][0] = ddx_coarse(x[1][0]); result[2][0] = ddx_coarse(x[2][0]); result[0][1] = ddx_coarse(x[0][1]); result[1][1] = ddx_coarse(x[1][1]); result[2][1] = ddx_coarse(x[2][1]); return result; } float4x2 ddx_coarse(float4x2 x) { float4x2 result; result[0][0] = ddx_coarse(x[0][0]); result[1][0] = ddx_coarse(x[1][0]); result[2][0] = ddx_coarse(x[2][0]); result[3][0] = ddx_coarse(x[3][0]); result[0][1] = ddx_coarse(x[0][1]); result[1][1] = ddx_coarse(x[1][1]); result[2][1] = ddx_coarse(x[2][1]); result[3][1] = ddx_coarse(x[3][1]); return result; } float2x3 ddx_coarse(float2x3 x) { float2x3 result; result[0][0] = ddx_coarse(x[0][0]); result[1][0] = ddx_coarse(x[1][0]); result[0][1] = ddx_coarse(x[0][1]); result[1][1] = ddx_coarse(x[1][1]); result[0][2] = ddx_coarse(x[0][2]); result[1][2] = ddx_coarse(x[1][2]); return result; } float3x3 ddx_coarse(float3x3 x) { float3x3 result; result[0][0] = ddx_coarse(x[0][0]); result[1][0] = ddx_coarse(x[1][0]); result[2][0] = ddx_coarse(x[2][0]); result[0][1] = ddx_coarse(x[0][1]); result[1][1] = ddx_coarse(x[1][1]); result[2][1] = ddx_coarse(x[2][1]); result[0][2] = ddx_coarse(x[0][2]); result[1][2] = ddx_coarse(x[1][2]); result[2][2] = ddx_coarse(x[2][2]); return result; } float4x3 ddx_coarse(float4x3 x) { float4x3 result; result[0][0] = ddx_coarse(x[0][0]); result[1][0] = ddx_coarse(x[1][0]); result[2][0] = ddx_coarse(x[2][0]); result[3][0] = ddx_coarse(x[3][0]); result[0][1] = ddx_coarse(x[0][1]); result[1][1] = ddx_coarse(x[1][1]); result[2][1] = ddx_coarse(x[2][1]); result[3][1] = ddx_coarse(x[3][1]); result[0][2] = ddx_coarse(x[0][2]); result[1][2] = ddx_coarse(x[1][2]); result[2][2] = ddx_coarse(x[2][2]); result[3][2] = ddx_coarse(x[3][2]); return result; } float2x4 ddx_coarse(float2x4 x) { float2x4 result; result[0][0] = ddx_coarse(x[0][0]); result[1][0] = ddx_coarse(x[1][0]); result[0][1] = ddx_coarse(x[0][1]); result[1][1] = ddx_coarse(x[1][1]); result[0][2] = ddx_coarse(x[0][2]); result[1][2] = ddx_coarse(x[1][2]); result[0][3] = ddx_coarse(x[0][3]); result[1][3] = ddx_coarse(x[1][3]); return result; } float3x4 ddx_coarse(float3x4 x) { float3x4 result; result[0][0] = ddx_coarse(x[0][0]); result[1][0] = ddx_coarse(x[1][0]); result[2][0] = ddx_coarse(x[2][0]); result[0][1] = ddx_coarse(x[0][1]); result[1][1] = ddx_coarse(x[1][1]); result[2][1] = ddx_coarse(x[2][1]); result[0][2] = ddx_coarse(x[0][2]); result[1][2] = ddx_coarse(x[1][2]); result[2][2] = ddx_coarse(x[2][2]); result[0][3] = ddx_coarse(x[0][3]); result[1][3] = ddx_coarse(x[1][3]); result[2][3] = ddx_coarse(x[2][3]); return result; } float4x4 ddx_coarse(float4x4 x) { float4x4 result; result[0][0] = ddx_coarse(x[0][0]); result[1][0] = ddx_coarse(x[1][0]); result[2][0] = ddx_coarse(x[2][0]); result[3][0] = ddx_coarse(x[3][0]); result[0][1] = ddx_coarse(x[0][1]); result[1][1] = ddx_coarse(x[1][1]); result[2][1] = ddx_coarse(x[2][1]); result[3][1] = ddx_coarse(x[3][1]); result[0][2] = ddx_coarse(x[0][2]); result[1][2] = ddx_coarse(x[1][2]); result[2][2] = ddx_coarse(x[2][2]); result[3][2] = ddx_coarse(x[3][2]); result[0][3] = ddx_coarse(x[0][3]); result[1][3] = ddx_coarse(x[1][3]); result[2][3] = ddx_coarse(x[2][3]); result[3][3] = ddx_coarse(x[3][3]); 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 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[1][0] = rcp(x[1][0]); result[0][1] = rcp(x[0][1]); result[1][1] = rcp(x[1][1]); return result; } float3x2 rcp(float3x2 x) { float3x2 result; result[0][0] = rcp(x[0][0]); result[1][0] = rcp(x[1][0]); result[2][0] = rcp(x[2][0]); result[0][1] = rcp(x[0][1]); result[1][1] = rcp(x[1][1]); result[2][1] = rcp(x[2][1]); return result; } float4x2 rcp(float4x2 x) { float4x2 result; result[0][0] = rcp(x[0][0]); result[1][0] = rcp(x[1][0]); result[2][0] = rcp(x[2][0]); result[3][0] = rcp(x[3][0]); result[0][1] = rcp(x[0][1]); result[1][1] = rcp(x[1][1]); result[2][1] = rcp(x[2][1]); result[3][1] = rcp(x[3][1]); return result; } float2x3 rcp(float2x3 x) { float2x3 result; result[0][0] = rcp(x[0][0]); result[1][0] = rcp(x[1][0]); result[0][1] = rcp(x[0][1]); result[1][1] = rcp(x[1][1]); result[0][2] = rcp(x[0][2]); result[1][2] = rcp(x[1][2]); return result; } float3x3 rcp(float3x3 x) { float3x3 result; result[0][0] = rcp(x[0][0]); result[1][0] = rcp(x[1][0]); result[2][0] = rcp(x[2][0]); result[0][1] = rcp(x[0][1]); result[1][1] = rcp(x[1][1]); result[2][1] = rcp(x[2][1]); result[0][2] = rcp(x[0][2]); result[1][2] = rcp(x[1][2]); result[2][2] = rcp(x[2][2]); return result; } float4x3 rcp(float4x3 x) { float4x3 result; result[0][0] = rcp(x[0][0]); result[1][0] = rcp(x[1][0]); result[2][0] = rcp(x[2][0]); result[3][0] = rcp(x[3][0]); result[0][1] = rcp(x[0][1]); result[1][1] = rcp(x[1][1]); result[2][1] = rcp(x[2][1]); result[3][1] = rcp(x[3][1]); result[0][2] = rcp(x[0][2]); result[1][2] = rcp(x[1][2]); result[2][2] = rcp(x[2][2]); result[3][2] = rcp(x[3][2]); return result; } float2x4 rcp(float2x4 x) { float2x4 result; result[0][0] = rcp(x[0][0]); result[1][0] = rcp(x[1][0]); result[0][1] = rcp(x[0][1]); result[1][1] = rcp(x[1][1]); result[0][2] = rcp(x[0][2]); result[1][2] = rcp(x[1][2]); result[0][3] = rcp(x[0][3]); result[1][3] = rcp(x[1][3]); return result; } float3x4 rcp(float3x4 x) { float3x4 result; result[0][0] = rcp(x[0][0]); result[1][0] = rcp(x[1][0]); result[2][0] = rcp(x[2][0]); result[0][1] = rcp(x[0][1]); result[1][1] = rcp(x[1][1]); result[2][1] = rcp(x[2][1]); result[0][2] = rcp(x[0][2]); result[1][2] = rcp(x[1][2]); result[2][2] = rcp(x[2][2]); result[0][3] = rcp(x[0][3]); result[1][3] = rcp(x[1][3]); result[2][3] = rcp(x[2][3]); return result; } float4x4 rcp(float4x4 x) { float4x4 result; result[0][0] = rcp(x[0][0]); result[1][0] = rcp(x[1][0]); result[2][0] = rcp(x[2][0]); result[3][0] = rcp(x[3][0]); result[0][1] = rcp(x[0][1]); result[1][1] = rcp(x[1][1]); result[2][1] = rcp(x[2][1]); result[3][1] = rcp(x[3][1]); result[0][2] = rcp(x[0][2]); result[1][2] = rcp(x[1][2]); result[2][2] = rcp(x[2][2]); result[3][2] = rcp(x[3][2]); result[0][3] = rcp(x[0][3]); result[1][3] = rcp(x[1][3]); result[2][3] = rcp(x[2][3]); result[3][3] = rcp(x[3][3]); 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[1][0] = fwidth(x[1][0]); result[0][1] = fwidth(x[0][1]); result[1][1] = fwidth(x[1][1]); return result; } float3x2 fwidth(float3x2 x) { float3x2 result; result[0][0] = fwidth(x[0][0]); result[1][0] = fwidth(x[1][0]); result[2][0] = fwidth(x[2][0]); result[0][1] = fwidth(x[0][1]); result[1][1] = fwidth(x[1][1]); result[2][1] = fwidth(x[2][1]); return result; } float4x2 fwidth(float4x2 x) { float4x2 result; result[0][0] = fwidth(x[0][0]); result[1][0] = fwidth(x[1][0]); result[2][0] = fwidth(x[2][0]); result[3][0] = fwidth(x[3][0]); result[0][1] = fwidth(x[0][1]); result[1][1] = fwidth(x[1][1]); result[2][1] = fwidth(x[2][1]); result[3][1] = fwidth(x[3][1]); return result; } float2x3 fwidth(float2x3 x) { float2x3 result; result[0][0] = fwidth(x[0][0]); result[1][0] = fwidth(x[1][0]); result[0][1] = fwidth(x[0][1]); result[1][1] = fwidth(x[1][1]); result[0][2] = fwidth(x[0][2]); result[1][2] = fwidth(x[1][2]); return result; } float3x3 fwidth(float3x3 x) { float3x3 result; result[0][0] = fwidth(x[0][0]); result[1][0] = fwidth(x[1][0]); result[2][0] = fwidth(x[2][0]); result[0][1] = fwidth(x[0][1]); result[1][1] = fwidth(x[1][1]); result[2][1] = fwidth(x[2][1]); result[0][2] = fwidth(x[0][2]); result[1][2] = fwidth(x[1][2]); result[2][2] = fwidth(x[2][2]); return result; } float4x3 fwidth(float4x3 x) { float4x3 result; result[0][0] = fwidth(x[0][0]); result[1][0] = fwidth(x[1][0]); result[2][0] = fwidth(x[2][0]); result[3][0] = fwidth(x[3][0]); result[0][1] = fwidth(x[0][1]); result[1][1] = fwidth(x[1][1]); result[2][1] = fwidth(x[2][1]); result[3][1] = fwidth(x[3][1]); result[0][2] = fwidth(x[0][2]); result[1][2] = fwidth(x[1][2]); result[2][2] = fwidth(x[2][2]); result[3][2] = fwidth(x[3][2]); return result; } float2x4 fwidth(float2x4 x) { float2x4 result; result[0][0] = fwidth(x[0][0]); result[1][0] = fwidth(x[1][0]); result[0][1] = fwidth(x[0][1]); result[1][1] = fwidth(x[1][1]); result[0][2] = fwidth(x[0][2]); result[1][2] = fwidth(x[1][2]); result[0][3] = fwidth(x[0][3]); result[1][3] = fwidth(x[1][3]); return result; } float3x4 fwidth(float3x4 x) { float3x4 result; result[0][0] = fwidth(x[0][0]); result[1][0] = fwidth(x[1][0]); result[2][0] = fwidth(x[2][0]); result[0][1] = fwidth(x[0][1]); result[1][1] = fwidth(x[1][1]); result[2][1] = fwidth(x[2][1]); result[0][2] = fwidth(x[0][2]); result[1][2] = fwidth(x[1][2]); result[2][2] = fwidth(x[2][2]); result[0][3] = fwidth(x[0][3]); result[1][3] = fwidth(x[1][3]); result[2][3] = fwidth(x[2][3]); return result; } float4x4 fwidth(float4x4 x) { float4x4 result; result[0][0] = fwidth(x[0][0]); result[1][0] = fwidth(x[1][0]); result[2][0] = fwidth(x[2][0]); result[3][0] = fwidth(x[3][0]); result[0][1] = fwidth(x[0][1]); result[1][1] = fwidth(x[1][1]); result[2][1] = fwidth(x[2][1]); result[3][1] = fwidth(x[3][1]); result[0][2] = fwidth(x[0][2]); result[1][2] = fwidth(x[1][2]); result[2][2] = fwidth(x[2][2]); result[3][2] = fwidth(x[3][2]); result[0][3] = fwidth(x[0][3]); result[1][3] = fwidth(x[1][3]); result[2][3] = fwidth(x[2][3]); result[3][3] = fwidth(x[3][3]); 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[1][0] = lerp(x[1][0], y[1][0], z[1][0]); result[0][1] = lerp(x[0][1], y[0][1], z[0][1]); result[1][1] = lerp(x[1][1], y[1][1], z[1][1]); 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[1][0] = lerp(x[1][0], y[1][0], z[1][0]); result[2][0] = lerp(x[2][0], y[2][0], z[2][0]); result[0][1] = lerp(x[0][1], y[0][1], z[0][1]); result[1][1] = lerp(x[1][1], y[1][1], z[1][1]); result[2][1] = lerp(x[2][1], y[2][1], z[2][1]); 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[1][0] = lerp(x[1][0], y[1][0], z[1][0]); result[2][0] = lerp(x[2][0], y[2][0], z[2][0]); result[3][0] = lerp(x[3][0], y[3][0], z[3][0]); result[0][1] = lerp(x[0][1], y[0][1], z[0][1]); result[1][1] = lerp(x[1][1], y[1][1], z[1][1]); result[2][1] = lerp(x[2][1], y[2][1], z[2][1]); result[3][1] = lerp(x[3][1], y[3][1], z[3][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[1][0] = lerp(x[1][0], y[1][0], z[1][0]); result[0][1] = lerp(x[0][1], y[0][1], z[0][1]); result[1][1] = lerp(x[1][1], y[1][1], z[1][1]); result[0][2] = lerp(x[0][2], y[0][2], z[0][2]); result[1][2] = lerp(x[1][2], y[1][2], z[1][2]); 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[1][0] = lerp(x[1][0], y[1][0], z[1][0]); result[2][0] = lerp(x[2][0], y[2][0], z[2][0]); result[0][1] = lerp(x[0][1], y[0][1], z[0][1]); result[1][1] = lerp(x[1][1], y[1][1], z[1][1]); result[2][1] = lerp(x[2][1], y[2][1], z[2][1]); result[0][2] = lerp(x[0][2], y[0][2], z[0][2]); result[1][2] = lerp(x[1][2], y[1][2], z[1][2]); result[2][2] = lerp(x[2][2], y[2][2], z[2][2]); 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[1][0] = lerp(x[1][0], y[1][0], z[1][0]); result[2][0] = lerp(x[2][0], y[2][0], z[2][0]); result[3][0] = lerp(x[3][0], y[3][0], z[3][0]); result[0][1] = lerp(x[0][1], y[0][1], z[0][1]); result[1][1] = lerp(x[1][1], y[1][1], z[1][1]); result[2][1] = lerp(x[2][1], y[2][1], z[2][1]); result[3][1] = lerp(x[3][1], y[3][1], z[3][1]); result[0][2] = lerp(x[0][2], y[0][2], z[0][2]); result[1][2] = lerp(x[1][2], y[1][2], z[1][2]); result[2][2] = lerp(x[2][2], y[2][2], z[2][2]); result[3][2] = lerp(x[3][2], y[3][2], z[3][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[1][0] = lerp(x[1][0], y[1][0], z[1][0]); result[0][1] = lerp(x[0][1], y[0][1], z[0][1]); result[1][1] = lerp(x[1][1], y[1][1], z[1][1]); result[0][2] = lerp(x[0][2], y[0][2], z[0][2]); result[1][2] = lerp(x[1][2], y[1][2], z[1][2]); result[0][3] = lerp(x[0][3], y[0][3], z[0][3]); result[1][3] = lerp(x[1][3], y[1][3], z[1][3]); 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[1][0] = lerp(x[1][0], y[1][0], z[1][0]); result[2][0] = lerp(x[2][0], y[2][0], z[2][0]); result[0][1] = lerp(x[0][1], y[0][1], z[0][1]); result[1][1] = lerp(x[1][1], y[1][1], z[1][1]); result[2][1] = lerp(x[2][1], y[2][1], z[2][1]); result[0][2] = lerp(x[0][2], y[0][2], z[0][2]); result[1][2] = lerp(x[1][2], y[1][2], z[1][2]); result[2][2] = lerp(x[2][2], y[2][2], z[2][2]); result[0][3] = lerp(x[0][3], y[0][3], z[0][3]); result[1][3] = lerp(x[1][3], y[1][3], z[1][3]); result[2][3] = lerp(x[2][3], y[2][3], z[2][3]); 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[1][0] = lerp(x[1][0], y[1][0], z[1][0]); result[2][0] = lerp(x[2][0], y[2][0], z[2][0]); result[3][0] = lerp(x[3][0], y[3][0], z[3][0]); result[0][1] = lerp(x[0][1], y[0][1], z[0][1]); result[1][1] = lerp(x[1][1], y[1][1], z[1][1]); result[2][1] = lerp(x[2][1], y[2][1], z[2][1]); result[3][1] = lerp(x[3][1], y[3][1], z[3][1]); result[0][2] = lerp(x[0][2], y[0][2], z[0][2]); result[1][2] = lerp(x[1][2], y[1][2], z[1][2]); result[2][2] = lerp(x[2][2], y[2][2], z[2][2]); result[3][2] = lerp(x[3][2], y[3][2], z[3][2]); result[0][3] = lerp(x[0][3], y[0][3], z[0][3]); result[1][3] = lerp(x[1][3], y[1][3], z[1][3]); result[2][3] = lerp(x[2][3], y[2][3], z[2][3]); 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); }