From be36bf3a76481737a7fa606a04144ceef80eb4f2 Mon Sep 17 00:00:00 2001 From: Jason Sams Date: Tue, 11 May 2010 14:03:58 -0700 Subject: Convert renderscript from using ACC to LLVM for its compiler. This will also require application to be updated to support the new compiler and data passing models. Change-Id: If078e3a5148af395ba1b936169a407d8c3ad727f --- rsScript.cpp | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 103 insertions(+), 13 deletions(-) (limited to 'rsScript.cpp') diff --git a/rsScript.cpp b/rsScript.cpp index a33933b6..1c63c115 100644 --- a/rsScript.cpp +++ b/rsScript.cpp @@ -30,13 +30,25 @@ Script::Script(Context *rsc) : ObjectBase(rsc) mEnviroment.mClearColor[3] = 1; mEnviroment.mClearDepth = 1; mEnviroment.mClearStencil = 0; - mEnviroment.mIsRoot = false; } Script::~Script() { } +void Script::setVar(uint32_t slot, const void *val, uint32_t len) +{ + int32_t *destPtr = ((int32_t **)mEnviroment.mFieldAddress)[slot]; + if (destPtr) { + //LOGE("setVar f1 %f", ((const float *)destPtr)[0]); + //LOGE("setVar %p %i", destPtr, len); + memcpy(destPtr, val, len); + //LOGE("setVar f2 %f", ((const float *)destPtr)[0]); + } else { + LOGE("Calling setVar on slot = %i which is null", slot); + } +} + namespace android { namespace renderscript { @@ -44,7 +56,9 @@ namespace renderscript { void rsi_ScriptBindAllocation(Context * rsc, RsScript vs, RsAllocation va, uint32_t slot) { Script *s = static_cast