From 8f0adba7cbac2391719896947601e403b5895fdc Mon Sep 17 00:00:00 2001 From: Jason Sams Date: Mon, 1 Nov 2010 14:26:30 -0700 Subject: Add code to mark functions rather than whole files as threadable. Change-Id: Ie635fbbb96b8ade48501ec564fe135edc256537d --- libs/rs/rsScriptC_LibCL.cpp | 195 +++++++++++++++++++++----------------------- 1 file changed, 95 insertions(+), 100 deletions(-) (limited to 'libs/rs/rsScriptC_LibCL.cpp') diff --git a/libs/rs/rsScriptC_LibCL.cpp b/libs/rs/rsScriptC_LibCL.cpp index 1b1a752..7031f84 100644 --- a/libs/rs/rsScriptC_LibCL.cpp +++ b/libs/rs/rsScriptC_LibCL.cpp @@ -88,11 +88,6 @@ static float SC_tanpi(float v) { return tanf(v * M_PI); } - //{ "logb", (void *)& }, - //{ "mad", (void *)& }, - //{ "nan", (void *)& }, - //{ "tgamma", (void *)& }, - ////////////////////////////////////////////////////////////////////////////// // Integer ////////////////////////////////////////////////////////////////////////////// @@ -198,105 +193,105 @@ static float SC_sign_f32(float value) static ScriptCState::SymbolTable_t gSyms[] = { // OpenCL math - { "_Z4acosf", (void *)&acosf }, - { "_Z5acoshf", (void *)&acoshf }, - { "_Z6acospif", (void *)&SC_acospi }, - { "_Z4asinf", (void *)&asinf }, - { "_Z5asinhf", (void *)&asinhf }, - { "_Z6asinpif", (void *)&SC_asinpi }, - { "_Z4atanf", (void *)&atanf }, - { "_Z5atan2ff", (void *)&atan2f }, - { "_Z6atanpif", (void *)&SC_atanpi }, - { "_Z7atan2piff", (void *)&SC_atan2pi }, - { "_Z4cbrtf", (void *)&cbrtf }, - { "_Z4ceilf", (void *)&ceilf }, - { "_Z8copysignff", (void *)©signf }, - { "_Z3cosf", (void *)&cosf }, - { "_Z4coshf", (void *)&coshf }, - { "_Z5cospif", (void *)&SC_cospi }, - { "_Z4erfcf", (void *)&erfcf }, - { "_Z3erff", (void *)&erff }, - { "_Z3expf", (void *)&expf }, - { "_Z4exp2f", (void *)&exp2f }, - { "_Z5exp10f", (void *)&SC_exp10 }, - { "_Z5expm1f", (void *)&expm1f }, - { "_Z4fabsf", (void *)&fabsf }, - { "_Z4fdimff", (void *)&fdimf }, - { "_Z5floorf", (void *)&floorf }, - { "_Z3fmafff", (void *)&fmaf }, - { "_Z4fmaxff", (void *)&fmaxf }, - { "_Z4fminff", (void *)&fminf }, // float fmin(float, float) - { "_Z4fmodff", (void *)&fmodf }, - { "_Z5fractfPf", (void *)&SC_fract }, - { "_Z5frexpfPi", (void *)&frexpf }, - { "_Z5hypotff", (void *)&hypotf }, - { "_Z5ilogbf", (void *)&ilogbf }, - { "_Z5ldexpfi", (void *)&ldexpf }, - { "_Z6lgammaf", (void *)&lgammaf }, - { "_Z3logf", (void *)&logf }, - { "_Z4log2f", (void *)&SC_log2 }, - { "_Z5log10f", (void *)&log10f }, - { "_Z5log1pf", (void *)&log1pf }, - //{ "logb", (void *)& }, - //{ "mad", (void *)& }, - { "modf", (void *)&modff }, - //{ "nan", (void *)& }, - { "_Z9nextafterff", (void *)&nextafterf }, - { "_Z3powff", (void *)&powf }, - { "_Z4pownfi", (void *)&SC_pown }, - { "_Z4powrff", (void *)&SC_powr }, - { "_Z9remainderff", (void *)&remainderf }, - { "remquo", (void *)&remquof }, - { "_Z4rintf", (void *)&rintf }, - { "_Z5rootnfi", (void *)&SC_rootn }, - { "_Z5roundf", (void *)&roundf }, - { "_Z5rsqrtf", (void *)&SC_rsqrt }, - { "_Z3sinf", (void *)&sinf }, - { "sincos", (void *)&SC_sincos }, - { "_Z4sinhf", (void *)&sinhf }, - { "_Z5sinpif", (void *)&SC_sinpi }, - { "_Z4sqrtf", (void *)&sqrtf }, - { "_Z3tanf", (void *)&tanf }, - { "_Z4tanhf", (void *)&tanhf }, - { "_Z5tanpif", (void *)&SC_tanpi }, - //{ "tgamma", (void *)& }, - { "_Z5truncf", (void *)&truncf }, + { "_Z4acosf", (void *)&acosf, true }, + { "_Z5acoshf", (void *)&acoshf, true }, + { "_Z6acospif", (void *)&SC_acospi, true }, + { "_Z4asinf", (void *)&asinf, true }, + { "_Z5asinhf", (void *)&asinhf, true }, + { "_Z6asinpif", (void *)&SC_asinpi, true }, + { "_Z4atanf", (void *)&atanf, true }, + { "_Z5atan2ff", (void *)&atan2f, true }, + { "_Z6atanpif", (void *)&SC_atanpi, true }, + { "_Z7atan2piff", (void *)&SC_atan2pi, true }, + { "_Z4cbrtf", (void *)&cbrtf, true }, + { "_Z4ceilf", (void *)&ceilf, true }, + { "_Z8copysignff", (void *)©signf, true }, + { "_Z3cosf", (void *)&cosf, true }, + { "_Z4coshf", (void *)&coshf, true }, + { "_Z5cospif", (void *)&SC_cospi, true }, + { "_Z4erfcf", (void *)&erfcf, true }, + { "_Z3erff", (void *)&erff, true }, + { "_Z3expf", (void *)&expf, true }, + { "_Z4exp2f", (void *)&exp2f, true }, + { "_Z5exp10f", (void *)&SC_exp10, true }, + { "_Z5expm1f", (void *)&expm1f, true }, + { "_Z4fabsf", (void *)&fabsf, true }, + { "_Z4fdimff", (void *)&fdimf, true }, + { "_Z5floorf", (void *)&floorf, true }, + { "_Z3fmafff", (void *)&fmaf, true }, + { "_Z4fmaxff", (void *)&fmaxf, true }, + { "_Z4fminff", (void *)&fminf, true }, // float fmin(float, float) + { "_Z4fmodff", (void *)&fmodf, true }, + { "_Z5fractfPf", (void *)&SC_fract, true }, + { "_Z5frexpfPi", (void *)&frexpf, true }, + { "_Z5hypotff", (void *)&hypotf, true }, + { "_Z5ilogbf", (void *)&ilogbf, true }, + { "_Z5ldexpfi", (void *)&ldexpf, true }, + { "_Z6lgammaf", (void *)&lgammaf, true }, + { "_Z3logf", (void *)&logf, true }, + { "_Z4log2f", (void *)&SC_log2, true }, + { "_Z5log10f", (void *)&log10f, true }, + { "_Z5log1pf", (void *)&log1pf, true }, + //{ "logb", (void *)&, true }, + //{ "mad", (void *)&, true }, + { "modf", (void *)&modff, true }, + //{ "nan", (void *)&, true }, + { "_Z9nextafterff", (void *)&nextafterf, true }, + { "_Z3powff", (void *)&powf, true }, + { "_Z4pownfi", (void *)&SC_pown, true }, + { "_Z4powrff", (void *)&SC_powr, true }, + { "_Z9remainderff", (void *)&remainderf, true }, + { "remquo", (void *)&remquof, true }, + { "_Z4rintf", (void *)&rintf, true }, + { "_Z5rootnfi", (void *)&SC_rootn, true }, + { "_Z5roundf", (void *)&roundf, true }, + { "_Z5rsqrtf", (void *)&SC_rsqrt, true }, + { "_Z3sinf", (void *)&sinf, true }, + { "sincos", (void *)&SC_sincos, true }, + { "_Z4sinhf", (void *)&sinhf, true }, + { "_Z5sinpif", (void *)&SC_sinpi, true }, + { "_Z4sqrtf", (void *)&sqrtf, true }, + { "_Z3tanf", (void *)&tanf, true }, + { "_Z4tanhf", (void *)&tanhf, true }, + { "_Z5tanpif", (void *)&SC_tanpi, true }, + //{ "tgamma", (void *)&, true }, + { "_Z5truncf", (void *)&truncf, true }, // OpenCL Int - { "_Z3absi", (void *)&SC_abs_i32 }, - { "_Z3abss", (void *)&SC_abs_i16 }, - { "_Z3absc", (void *)&SC_abs_i8 }, - { "_Z3clzj", (void *)&SC_clz_u32 }, - { "_Z3clzt", (void *)&SC_clz_u16 }, - { "_Z3clzh", (void *)&SC_clz_u8 }, - { "_Z3clzi", (void *)&SC_clz_i32 }, - { "_Z3clzs", (void *)&SC_clz_i16 }, - { "_Z3clzc", (void *)&SC_clz_i8 }, - { "_Z3maxjj", (void *)&SC_max_u32 }, - { "_Z3maxtt", (void *)&SC_max_u16 }, - { "_Z3maxhh", (void *)&SC_max_u8 }, - { "_Z3maxii", (void *)&SC_max_i32 }, - { "_Z3maxss", (void *)&SC_max_i16 }, - { "_Z3maxcc", (void *)&SC_max_i8 }, - { "_Z3minjj", (void *)&SC_min_u32 }, - { "_Z3mintt", (void *)&SC_min_u16 }, - { "_Z3minhh", (void *)&SC_min_u8 }, - { "_Z3minii", (void *)&SC_min_i32 }, - { "_Z3minss", (void *)&SC_min_i16 }, - { "_Z3mincc", (void *)&SC_min_i8 }, + { "_Z3absi", (void *)&SC_abs_i32, true }, + { "_Z3abss", (void *)&SC_abs_i16, true }, + { "_Z3absc", (void *)&SC_abs_i8, true }, + { "_Z3clzj", (void *)&SC_clz_u32, true }, + { "_Z3clzt", (void *)&SC_clz_u16, true }, + { "_Z3clzh", (void *)&SC_clz_u8, true }, + { "_Z3clzi", (void *)&SC_clz_i32, true }, + { "_Z3clzs", (void *)&SC_clz_i16, true }, + { "_Z3clzc", (void *)&SC_clz_i8, true }, + { "_Z3maxjj", (void *)&SC_max_u32, true }, + { "_Z3maxtt", (void *)&SC_max_u16, true }, + { "_Z3maxhh", (void *)&SC_max_u8, true }, + { "_Z3maxii", (void *)&SC_max_i32, true }, + { "_Z3maxss", (void *)&SC_max_i16, true }, + { "_Z3maxcc", (void *)&SC_max_i8, true }, + { "_Z3minjj", (void *)&SC_min_u32, true }, + { "_Z3mintt", (void *)&SC_min_u16, true }, + { "_Z3minhh", (void *)&SC_min_u8, true }, + { "_Z3minii", (void *)&SC_min_i32, true }, + { "_Z3minss", (void *)&SC_min_i16, true }, + { "_Z3mincc", (void *)&SC_min_i8, true }, // OpenCL 6.11.4 - { "_Z5clampfff", (void *)&SC_clamp_f32 }, - { "_Z7degreesf", (void *)&SC_degrees }, - { "_Z3maxff", (void *)&SC_max_f32 }, - { "_Z3minff", (void *)&SC_min_f32 }, - { "_Z3mixfff", (void *)&SC_mix_f32 }, - { "_Z7radiansf", (void *)&SC_radians }, - { "_Z4stepff", (void *)&SC_step_f32 }, - //{ "smoothstep", (void *)& }, - { "_Z4signf", (void *)&SC_sign_f32 }, - - { NULL, NULL } + { "_Z5clampfff", (void *)&SC_clamp_f32, true }, + { "_Z7degreesf", (void *)&SC_degrees, true }, + { "_Z3maxff", (void *)&SC_max_f32, true }, + { "_Z3minff", (void *)&SC_min_f32, true }, + { "_Z3mixfff", (void *)&SC_mix_f32, true }, + { "_Z7radiansf", (void *)&SC_radians, true }, + { "_Z4stepff", (void *)&SC_step_f32, true }, + //{ "smoothstep", (void *)&, true }, + { "_Z4signf", (void *)&SC_sign_f32, true }, + + { NULL, NULL, false } }; const ScriptCState::SymbolTable_t * ScriptCState::lookupSymbolCL(const char *sym) -- cgit v1.1