我有一个关于androids renderscript rsforeach函数和rs_script_call_t*参数如何工作的问题。在这些例子中,只使用了另一个(简单的)rsforeach函数,所以这对我没有帮助。我想更改数组的xstart和xend,并尝试使用不同的rs_for_策略。我知道我必须构造一个rs_script_call_t struct并将字段设置为正确的值。但是,任何使用这个rsforeach调用的尝试都会导致sigsegv和coredump。
在rs_script_call struct中(在rs_math.rsh中):
xstart、xend、ystart、yend、zstart、zend值指的是什么?索引还是指针?
arraystart和arrayend值指的是什么?索引还是指针?
它们的默认值是什么?
有没有更多的文档(或示例)可以解释如何将rsforeach函数与rs_script_call_t*参数一起正确使用?

最佳答案

x/y/z/start/end值是计算脚本正在处理的内存分配的索引。结构可以将rsforeach调用限制为分配的子区域。
例如,对于640x480的分配,可以定义xstart=100;xend=200;ystart=100;yend=200。然后foreach调用将在分配的100x100区域上启动。
ArrayStart和ArrayEnd目前还没有使用,但定义用于将来的版本,该版本将在分配中支持数组维度。
默认值未定义,您需要在结构中定义自己的值。如果不使用该结构,rsforeach调用将处理整个内存分配。
有一个已知的错误,导致崩溃时使用这个蜂窝,所以这可能是你的问题。它已经在集成电路中修复。

08-17 01:14