我为Android API16 +编译renderscript代码
我有脚本功能:
void setBuffers(uchar *y, uchar *u, uchar *v){
...
}
有了这个,我想为脚本设置内部指针(分配)。
但编译器使用指针参数处理所有函数,就像它们具有RS_KERNEL属性一样,并使其成为内核函数,Java代码生成为forEach_setBuffers
,或抱怨y
必须为int(对于内核为true)。
我假设这个自动内核模式被添加为简化,因此我们不必在脚本中标记函数。尼斯。
但我需要使函数 invokable ,以便Java代码包含invoke_setBuffers
。我该怎么做?
答案 0 :(得分:0)
你不能拥有一个接受指针的invokable,这就是"捷径"这被标记为内核正在发生。如果你有一个带指针的函数,但不需要在Java中反映出来,你可以标记它"静态"确保它不像内核那样被对待。为了从Java中获取实际的分配数据,你应该使这个可调用的内容采取" rs_allocation"相反的论点。