am 0d6d592c: Fix improper cast for pown on CPU/GPU.
* commit '0d6d592c5c0d28331151e6c4b7fb7d0789b99974':
Fix improper cast for pown on CPU/GPU.
diff --git a/lib/Renderscript/runtime/rs_cl.c b/lib/Renderscript/runtime/rs_cl.c
index bf055b3..b6c2b6a 100644
--- a/lib/Renderscript/runtime/rs_cl.c
+++ b/lib/Renderscript/runtime/rs_cl.c
@@ -1,5 +1,9 @@
#include "rs_types.rsh"
+extern float2 __attribute__((overloadable)) convert_float2(int2 c);
+extern float3 __attribute__((overloadable)) convert_float3(int3 c);
+extern float4 __attribute__((overloadable)) convert_float4(int4 c);
+
// Float ops, 6.11.2
#define FN_FUNC_FN(fnc) \
@@ -492,13 +496,16 @@
return pow(v, (float)p);
}
extern float2 __attribute__((overloadable)) pown(float2 v, int2 p) {
- return pow(v, (float2)p);
+ float2 f2 = convert_float2(p);
+ return pow(v, f2);
}
extern float3 __attribute__((overloadable)) pown(float3 v, int3 p) {
- return pow(v, (float3)p);
+ float3 f3 = convert_float3(p);
+ return pow(v, f3);
}
extern float4 __attribute__((overloadable)) pown(float4 v, int4 p) {
- return pow(v, (float4)p);
+ float4 f4 = convert_float4(p);
+ return pow(v, f4);
}
extern float __attribute__((overloadable)) powr(float v, float p) {