Android renderscript函数自动设置为内核,如何避免呢?

时间:2016-12-13 13:44:05

标签: android renderscript

我为Android API16 +编译renderscript代码

我有脚本功能:

void setBuffers(uchar *y, uchar *u, uchar *v){
...
}

有了这个,我想为脚本设置内部指针(分配)。 但编译器使用指针参数处理所有函数,就像它们具有RS_KERNEL属性一样,并使其成为内核函数,Java代码生成为forEach_setBuffers,或抱怨y必须为int(对于内核为true)。

我假设这个自动内核模式被添加为简化,因此我们不必在脚本中标记函数。尼斯。

但我需要使函数 invokable ,以便Java代码包含invoke_setBuffers。我该怎么做?

1 个答案:

答案 0 :(得分:0)

你不能拥有一个接受指针的invokable,这就是"捷径"这被标记为内核正在发生。如果你有一个带指针的函数,但不需要在Java中反映出来,你可以标记它"静态"确保它不像内核那样被对待。为了从Java中获取实际的分配数据,你应该使这个可调用的内容采取" rs_allocation"相反的论点。