| #include "rs_cl.rsh" |
| |
| |
| // Allocations |
| extern rs_allocation rsGetAllocation(const void *); |
| extern uint32_t rsAllocationGetDimX(rs_allocation); |
| extern uint32_t rsAllocationGetDimY(rs_allocation); |
| extern uint32_t rsAllocationGetDimZ(rs_allocation); |
| extern uint32_t rsAllocationGetDimLOD(rs_allocation); |
| extern uint32_t rsAllocationGetDimFaces(rs_allocation); |
| |
| |
| |
| // Color conversion |
| extern uchar4 __attribute__((overloadable)) rsPackColorTo8888(float r, float g, float b); |
| extern uchar4 __attribute__((overloadable)) rsPackColorTo8888(float r, float g, float b, float a); |
| extern uchar4 __attribute__((overloadable)) rsPackColorTo8888(float3); |
| extern uchar4 __attribute__((overloadable)) rsPackColorTo8888(float4); |
| extern float4 rsUnpackColor8888(uchar4); |
| |
| extern uchar4 __attribute__((overloadable)) rsPackColorTo565(float r, float g, float b); |
| extern uchar4 __attribute__((overloadable)) rsPackColorTo565(float3); |
| extern float4 rsUnpackColor565(uchar4); |
| |
| |
| // Debugging |
| extern void __attribute__((overloadable))rsDebug(const char *, float); |
| extern void __attribute__((overloadable))rsDebug(const char *, float2); |
| extern void __attribute__((overloadable))rsDebug(const char *, float3); |
| extern void __attribute__((overloadable))rsDebug(const char *, float4); |
| extern void __attribute__((overloadable))rsDebug(const char *, int); |
| extern void __attribute__((overloadable))rsDebug(const char *, const void *); |
| #define RS_DEBUG(a) rsDebug(#a, a) |
| #define RS_DEBUG_MARKER rsDebug(__FILE__, __LINE__) |
| |
| // RS Math |
| extern int __attribute__((overloadable)) rsRand(int); |
| extern int __attribute__((overloadable)) rsRand(int, int); |
| extern float __attribute__((overloadable)) rsRand(float); |
| extern float __attribute__((overloadable)) rsRand(float, float); |
| |
| extern float __attribute__((overloadable)) rsFrac(float); |
| |
| // time |
| extern int32_t rsSecond(); |
| extern int32_t rsMinute(); |
| extern int32_t rsHour(); |
| extern int32_t rsDay(); |
| extern int32_t rsMonth(); |
| extern int32_t rsYear(); |
| extern int64_t rsUptimeMillis(); |
| extern int64_t rsStartTimeMillis(); |
| extern int64_t rsElapsedTimeMillis(); |
| |
| extern int rsSendToClient(void *data, int cmdID, int len, int waitForSpace); |
| |
| extern void rsMatrixLoadIdentity(rs_matrix4x4 *mat); |
| extern void rsMatrixLoadFloat(rs_matrix4x4 *mat, const float *f); |
| extern void rsMatrixLoadMat(rs_matrix4x4 *mat, const rs_matrix4x4 *newmat); |
| extern void rsMatrixLoadRotate(rs_matrix4x4 *mat, float rot, float x, float y, float z); |
| extern void rsMatrixLoadScale(rs_matrix4x4*mat, float x, float y, float z); |
| extern void rsMatrixLoadTranslate(rs_matrix4x4 *mat, float x, float y, float z); |
| extern void rsMatrixLoadMultiply(rs_matrix4x4 *mat, const rs_matrix4x4 *lhs, const rs_matrix4x4 *rhs); |
| extern void rsMatrixMultiply(rs_matrix4x4 *mat, const rs_matrix4x4 *rhs); |
| extern void rsMatrixRotate(rs_matrix4x4 *mat, float rot, float x, float y, float z); |
| extern void rsMatrixScale(rs_matrix4x4 *mat, float x, float y, float z); |
| extern void rsMatrixTranslate(rs_matrix4x4 *mat, float x, float y, float z); |
| |
| |
| /////////////////////////////////////////////////////////////////// |
| // non update funcs |
| |
| /* |
| extern float3 float3Norm(float3); |
| extern float float3Length(float3); |
| extern float3 float3Add(float3 lhs, float3 rhs); |
| extern float3 float3Sub(float3 lhs, float3 rhs); |
| extern float3 float3Cross(float3 lhs, float3 rhs); |
| extern float float3Dot(float3 lhs, float3 rhs); |
| extern float3 float3Scale(float3 v, float scale); |
| |
| extern float4 float4Add(float4 lhs, float4 rhs); |
| extern float4 float4Sub(float4 lhs, float4 rhs); |
| extern float4 float4Cross(float4 lhs, float4 rhs); |
| extern float float4Dot(float4 lhs, float4 rhs); |
| extern float4 float4Scale(float4 v, float scale); |
| */ |
| |
| |