1

我正在增加 RS 中全局的值,目的是在内核完成时将其传递回 Java。rsDebug 显示值在每次迭代中上升,但 mScript.get_var() 返回初始值 1。获取 MAX 的最后一个值的正确方法是什么?

回复:

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()));
4

1 回答 1

2

get_var 只返回 Java 设置的最后一个值,而不是 RS 代码设置的最后一个值。在未来的某个时候,这将得到解决,但还没有。目前,解决方法是将值存储在 RS 分配中并将其复制回 Java。

是的,这不是很好。抱歉,它在我要解决的事情清单上(我几乎做到了,但它比我最初想象的要复杂得多,因为可以从 RS 设置 BaseObj)。

于 2013-10-22T22:02:30.540 回答