diff options
author | Stephen Hines <srhines@google.com> | 2012-10-01 14:40:28 -0700 |
---|---|---|
committer | Stephen Hines <srhines@google.com> | 2012-10-01 14:40:28 -0700 |
commit | 0d6d592c5c0d28331151e6c4b7fb7d0789b99974 (patch) | |
tree | 90ea05cbc7911865709c651bd57cc3f3f3d78568 | |
parent | ceb4c0f5fc5f63c6e494fc2fda25e4461d27abb5 (diff) | |
download | libbcc-0d6d592c5c0d28331151e6c4b7fb7d0789b99974.tar.gz |
Fix improper cast for pown on CPU/GPU.
Bug: 7256001
Change-Id: I5231c418e19dab6682a2afd806f5068a3eceb3f7
-rw-r--r-- | lib/Renderscript/runtime/rs_cl.c | 13 |
1 files changed, 10 insertions, 3 deletions
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 @@ extern float __attribute__((overloadable)) pown(float v, int p) { 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) { |