我有一个关于如何使用rs_script_call_t *参数的Androids Renderscript rsForEach函数的问题。在示例中,仅使用了其他(简单)rsForEach函数,因此对我没有帮助。我想更改我的数组的xStart和xEnd,并尝试使用不同的RS_FOR_EACH_STRATEGY。我知道我要构造一个rs_script_call_t结构并将字段设置为正确的值。但是,任何使用此rsForEach调用的尝试都会产生SIGSEGV和coredump。
在rs_script_call结构中(在rs_math.rsh中):
是否有更多文档(或示例)解释如何在rs_script_call_t *参数中正确使用rsForEach函数?
答案 0 :(得分:1)
x / y / z / start / end值是计算脚本正在处理的内存分配的索引。结构可以将rsForEach调用限制为分配的子区域。
例如,对于640x480的分配,您可以定义xStart = 100; xEnd = 200; yStart = 100; yEnd = 200.然后foreach调用将在分配的100x100区域启动。
现在不使用arrayStart和arrayEnd,但是为将来的版本定义了支持分配中的数组维度。
默认值未定义,您需要在结构中定义自己的值。如果不使用struct,则rsForEach调用将对整个内存分配起作用。
有一个已知的错误在Honeycomb中使用时会导致崩溃,所以这可能是你的问题。它已在ICS中修复。