我正在增加RS中全局值,以便在内核完成时将其传递回Java。 rsDebug显示每次迭代时上升的值,但mScript.get_var()返回初始值1.获取MAX的最后一个值的正确方法是什么?
RS:
int MAX = 1;
void root(const input* in, float* out){
MAX = MAX+1;
rsDebug("MAX",MAX);
*out = atan2(in->first, in->second);
}
爪哇:
float[] out = new float[100000];
mScript.forEach_root(mInAllocation, mOutAllocation);
mOutAllocation.copyTo(out);
Log.i("Max Count...", Integer.toString(mScript.get_MAX()));
答案 0 :(得分:2)
get_var仅返回Java设置的最后一个值,而不是RS代码设置的最后一个值。在未来的某个时刻,这将得到解决,但尚未实现。现在,方法是将值存储在RS Allocation中并将其复制回Java。
是的,这不是很好。对不起,这是我要解决的问题列表(我几乎做了,但它比我最初想的要复杂得多,因为BaseObjs可以从RS设置)。