Получение значения из глобального RenderScript обратно в Java

Я увеличиваю значение глобала в RS с целью передачи его обратно в Java по завершении ядра. rsDebug показывает значение, увеличивающееся на каждой итерации, но mScript.get_var() возвращает начальное значение 1. Как правильно получить последнее значение MAX?

RS:

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

1 ответ

Решение

get_var возвращает только последнее значение, установленное Java, а не последнее значение, установленное кодом RS. в какой-то момент в будущем это будет решено, но пока нет. сейчас обходной путь - сохранить значение в распределении RS и скопировать его обратно в Java.

да, это не здорово извините, это в моем списке вещей для решения (я почти сделал это, но это намного сложнее, чем я первоначально думал из-за BaseObjs, который может быть установлен из RS).

Другие вопросы по тегам