Loading libs/rs/Android.mk +6 −3 Original line number Diff line number Diff line Loading @@ -95,7 +95,9 @@ LOCAL_SRC_FILES:= \ rsFont.cpp \ rsLocklessFifo.cpp \ rsObjectBase.cpp \ rsMatrix.cpp \ rsMatrix2x2.cpp \ rsMatrix3x3.cpp \ rsMatrix4x4.cpp \ rsMesh.cpp \ rsMutex.cpp \ rsProgram.cpp \ Loading @@ -107,7 +109,6 @@ LOCAL_SRC_FILES:= \ rsScript.cpp \ rsScriptC.cpp \ rsScriptC_Lib.cpp \ rsScriptC_LibCL.cpp \ rsScriptC_LibGL.cpp \ rsShaderCache.cpp \ rsSignal.cpp \ Loading @@ -119,7 +120,9 @@ LOCAL_SRC_FILES:= \ driver/rsdCore.cpp \ driver/rsdGL.cpp \ driver/rsdProgramRaster.cpp \ driver/rsdProgramStore.cpp driver/rsdProgramStore.cpp \ driver/rsdRuntimeMath.cpp \ driver/rsdRuntimeStubs.cpp LOCAL_SHARED_LIBRARIES += libz libcutils libutils libEGL libGLESv1_CM libGLESv2 libui libbcc Loading libs/rs/RenderScriptDefines.h +12 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,18 @@ typedef void * RsProgramRaster; typedef void (* RsBitmapCallback_t)(void *); typedef struct { float m[16]; } rs_matrix4x4; typedef struct { float m[9]; } rs_matrix3x3; typedef struct { float m[4]; } rs_matrix2x2; enum RsDeviceParam { RS_DEVICE_PARAM_FORCE_SOFTWARE_GL, RS_DEVICE_PARAM_COUNT Loading libs/rs/driver/rsdBcc.cpp +6 −6 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ #include "rsdCore.h" #include "rsdBcc.h" #include "rsdRuntime.h" #include "rsContext.h" #include "rsScriptC.h" Loading Loading @@ -129,8 +130,7 @@ bool rsdScriptInit(const Context *rsc, char const *cacheDir, uint8_t const *bitcode, size_t bitcodeSize, uint32_t flags, RsHalSymbolLookupFunc lookupFunc) { uint32_t flags) { //LOGE("rsdScriptCreate %p %p %p %p %i %i %p", rsc, resName, cacheDir, bitcode, bitcodeSize, flags, lookupFunc); char *cachePath = NULL; Loading @@ -149,7 +149,7 @@ bool rsdScriptInit(const Context *rsc, //LOGE("mBccScript %p", script->mBccScript); if (bccRegisterSymbolCallback(drv->mBccScript, lookupFunc, script) != 0) { if (bccRegisterSymbolCallback(drv->mBccScript, &rsdLookupRuntimeStub, script) != 0) { LOGE("bcc: FAILS to register symbol callback"); goto error; } Loading Loading @@ -334,7 +334,7 @@ void rsdScriptInvokeForEach(const Context *rsc, uint32_t usrLen, const RsScriptCall *sc) { RsHal * dc = (RsHal *)rsc->mHal.drv; RsdHal * dc = (RsdHal *)rsc->mHal.drv; MTLaunchStruct mtls; memset(&mtls, 0, sizeof(mtls)); Loading Loading @@ -513,7 +513,7 @@ void rsdScriptSetGlobalObj(const Context *dc, const Script *script, uint32_t slo return; } rsiSetObject((ObjectBase **)destPtr, data); rsrSetObject(dc, script, (ObjectBase **)destPtr, data); } void rsdScriptDestroy(const Context *dc, Script *script) { Loading @@ -525,7 +525,7 @@ void rsdScriptDestroy(const Context *dc, Script *script) { // The field address can be NULL if the script-side has // optimized the corresponding global variable away. if (drv->mFieldAddress[ct]) { rsiClearObject((ObjectBase **)drv->mFieldAddress[ct]); rsrClearObject(dc, script, (ObjectBase **)drv->mFieldAddress[ct]); } } } Loading libs/rs/driver/rsdBcc.h +2 −2 Original line number Diff line number Diff line Loading @@ -18,12 +18,12 @@ #define RSD_BCC_H #include <rs_hal.h> #include <rsRuntime.h> bool rsdScriptInit(const android::renderscript::Context *, android::renderscript::ScriptC *, char const *resName, char const *cacheDir, uint8_t const *bitcode, size_t bitcodeSize, uint32_t flags, android::renderscript::RsHalSymbolLookupFunc lookupFunc); uint8_t const *bitcode, size_t bitcodeSize, uint32_t flags); void rsdScriptInvokeFunction(const android::renderscript::Context *dc, android::renderscript::Script *script, uint32_t slot, Loading libs/rs/driver/rsdCore.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -77,7 +77,7 @@ static RsdHalFunctions FunctionTable = { static void * HelperThreadProc(void *vrsc) { Context *rsc = static_cast<Context *>(vrsc); RsHal *dc = (RsHal *)rsc->mHal.drv; RsdHal *dc = (RsdHal *)rsc->mHal.drv; uint32_t idx = (uint32_t)android_atomic_inc(&dc->mWorkers.mLaunchCount); Loading Loading @@ -116,7 +116,7 @@ static void * HelperThreadProc(void *vrsc) { } void rsdLaunchThreads(Context *rsc, WorkerCallback_t cbk, void *data) { RsHal *dc = (RsHal *)rsc->mHal.drv; RsdHal *dc = (RsdHal *)rsc->mHal.drv; dc->mWorkers.mLaunchData = data; dc->mWorkers.mLaunchCallback = cbk; Loading @@ -132,7 +132,7 @@ void rsdLaunchThreads(Context *rsc, WorkerCallback_t cbk, void *data) { bool rsdHalInit(Context *rsc, uint32_t version_major, uint32_t version_minor) { rsc->mHal.funcs = FunctionTable; RsHal *dc = (RsHal *)calloc(1, sizeof(RsHal)); RsdHal *dc = (RsdHal *)calloc(1, sizeof(RsdHal)); if (!dc) { LOGE("Calloc for driver hal failed."); return false; Loading Loading @@ -181,14 +181,14 @@ bool rsdHalInit(Context *rsc, uint32_t version_major, uint32_t version_minor) { void SetPriority(const Context *rsc, int32_t priority) { RsHal *dc = (RsHal *)rsc->mHal.drv; RsdHal *dc = (RsdHal *)rsc->mHal.drv; for (uint32_t ct=0; ct < dc->mWorkers.mCount; ct++) { setpriority(PRIO_PROCESS, dc->mWorkers.mNativeThreadId[ct], priority); } } void Shutdown(Context *rsc) { RsHal *dc = (RsHal *)rsc->mHal.drv; RsdHal *dc = (RsdHal *)rsc->mHal.drv; dc->mExit = true; dc->mWorkers.mLaunchData = NULL; Loading Loading
libs/rs/Android.mk +6 −3 Original line number Diff line number Diff line Loading @@ -95,7 +95,9 @@ LOCAL_SRC_FILES:= \ rsFont.cpp \ rsLocklessFifo.cpp \ rsObjectBase.cpp \ rsMatrix.cpp \ rsMatrix2x2.cpp \ rsMatrix3x3.cpp \ rsMatrix4x4.cpp \ rsMesh.cpp \ rsMutex.cpp \ rsProgram.cpp \ Loading @@ -107,7 +109,6 @@ LOCAL_SRC_FILES:= \ rsScript.cpp \ rsScriptC.cpp \ rsScriptC_Lib.cpp \ rsScriptC_LibCL.cpp \ rsScriptC_LibGL.cpp \ rsShaderCache.cpp \ rsSignal.cpp \ Loading @@ -119,7 +120,9 @@ LOCAL_SRC_FILES:= \ driver/rsdCore.cpp \ driver/rsdGL.cpp \ driver/rsdProgramRaster.cpp \ driver/rsdProgramStore.cpp driver/rsdProgramStore.cpp \ driver/rsdRuntimeMath.cpp \ driver/rsdRuntimeStubs.cpp LOCAL_SHARED_LIBRARIES += libz libcutils libutils libEGL libGLESv1_CM libGLESv2 libui libbcc Loading
libs/rs/RenderScriptDefines.h +12 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,18 @@ typedef void * RsProgramRaster; typedef void (* RsBitmapCallback_t)(void *); typedef struct { float m[16]; } rs_matrix4x4; typedef struct { float m[9]; } rs_matrix3x3; typedef struct { float m[4]; } rs_matrix2x2; enum RsDeviceParam { RS_DEVICE_PARAM_FORCE_SOFTWARE_GL, RS_DEVICE_PARAM_COUNT Loading
libs/rs/driver/rsdBcc.cpp +6 −6 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ #include "rsdCore.h" #include "rsdBcc.h" #include "rsdRuntime.h" #include "rsContext.h" #include "rsScriptC.h" Loading Loading @@ -129,8 +130,7 @@ bool rsdScriptInit(const Context *rsc, char const *cacheDir, uint8_t const *bitcode, size_t bitcodeSize, uint32_t flags, RsHalSymbolLookupFunc lookupFunc) { uint32_t flags) { //LOGE("rsdScriptCreate %p %p %p %p %i %i %p", rsc, resName, cacheDir, bitcode, bitcodeSize, flags, lookupFunc); char *cachePath = NULL; Loading @@ -149,7 +149,7 @@ bool rsdScriptInit(const Context *rsc, //LOGE("mBccScript %p", script->mBccScript); if (bccRegisterSymbolCallback(drv->mBccScript, lookupFunc, script) != 0) { if (bccRegisterSymbolCallback(drv->mBccScript, &rsdLookupRuntimeStub, script) != 0) { LOGE("bcc: FAILS to register symbol callback"); goto error; } Loading Loading @@ -334,7 +334,7 @@ void rsdScriptInvokeForEach(const Context *rsc, uint32_t usrLen, const RsScriptCall *sc) { RsHal * dc = (RsHal *)rsc->mHal.drv; RsdHal * dc = (RsdHal *)rsc->mHal.drv; MTLaunchStruct mtls; memset(&mtls, 0, sizeof(mtls)); Loading Loading @@ -513,7 +513,7 @@ void rsdScriptSetGlobalObj(const Context *dc, const Script *script, uint32_t slo return; } rsiSetObject((ObjectBase **)destPtr, data); rsrSetObject(dc, script, (ObjectBase **)destPtr, data); } void rsdScriptDestroy(const Context *dc, Script *script) { Loading @@ -525,7 +525,7 @@ void rsdScriptDestroy(const Context *dc, Script *script) { // The field address can be NULL if the script-side has // optimized the corresponding global variable away. if (drv->mFieldAddress[ct]) { rsiClearObject((ObjectBase **)drv->mFieldAddress[ct]); rsrClearObject(dc, script, (ObjectBase **)drv->mFieldAddress[ct]); } } } Loading
libs/rs/driver/rsdBcc.h +2 −2 Original line number Diff line number Diff line Loading @@ -18,12 +18,12 @@ #define RSD_BCC_H #include <rs_hal.h> #include <rsRuntime.h> bool rsdScriptInit(const android::renderscript::Context *, android::renderscript::ScriptC *, char const *resName, char const *cacheDir, uint8_t const *bitcode, size_t bitcodeSize, uint32_t flags, android::renderscript::RsHalSymbolLookupFunc lookupFunc); uint8_t const *bitcode, size_t bitcodeSize, uint32_t flags); void rsdScriptInvokeFunction(const android::renderscript::Context *dc, android::renderscript::Script *script, uint32_t slot, Loading
libs/rs/driver/rsdCore.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -77,7 +77,7 @@ static RsdHalFunctions FunctionTable = { static void * HelperThreadProc(void *vrsc) { Context *rsc = static_cast<Context *>(vrsc); RsHal *dc = (RsHal *)rsc->mHal.drv; RsdHal *dc = (RsdHal *)rsc->mHal.drv; uint32_t idx = (uint32_t)android_atomic_inc(&dc->mWorkers.mLaunchCount); Loading Loading @@ -116,7 +116,7 @@ static void * HelperThreadProc(void *vrsc) { } void rsdLaunchThreads(Context *rsc, WorkerCallback_t cbk, void *data) { RsHal *dc = (RsHal *)rsc->mHal.drv; RsdHal *dc = (RsdHal *)rsc->mHal.drv; dc->mWorkers.mLaunchData = data; dc->mWorkers.mLaunchCallback = cbk; Loading @@ -132,7 +132,7 @@ void rsdLaunchThreads(Context *rsc, WorkerCallback_t cbk, void *data) { bool rsdHalInit(Context *rsc, uint32_t version_major, uint32_t version_minor) { rsc->mHal.funcs = FunctionTable; RsHal *dc = (RsHal *)calloc(1, sizeof(RsHal)); RsdHal *dc = (RsdHal *)calloc(1, sizeof(RsdHal)); if (!dc) { LOGE("Calloc for driver hal failed."); return false; Loading Loading @@ -181,14 +181,14 @@ bool rsdHalInit(Context *rsc, uint32_t version_major, uint32_t version_minor) { void SetPriority(const Context *rsc, int32_t priority) { RsHal *dc = (RsHal *)rsc->mHal.drv; RsdHal *dc = (RsdHal *)rsc->mHal.drv; for (uint32_t ct=0; ct < dc->mWorkers.mCount; ct++) { setpriority(PRIO_PROCESS, dc->mWorkers.mNativeThreadId[ct], priority); } } void Shutdown(Context *rsc) { RsHal *dc = (RsHal *)rsc->mHal.drv; RsdHal *dc = (RsdHal *)rsc->mHal.drv; dc->mExit = true; dc->mWorkers.mLaunchData = NULL; Loading