2017-01-04 9 views
0

の外にあるが、私は次のエラー取得しています:のrenderScript:非致命的なRSエラーは、forEachのカーネル指数は、私は簡単なのrenderScript例を実行しようとしている境界

01-03 16:10:04.723 25608-28248/com.testing.android E/RenderScript_jni: non fatal RS error, The forEach kernel index is out of bounds 

コードこれを引き起こしています問題は次のとおりです。

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_img_name); 

ScriptC_test test = new ScriptC_test(mRS); 
Allocation in = Allocation.createFromBitmap(mRS, bitmap); 
Allocation out = Allocation.createTyped(mRS, in.getType()); 

test.forEach_grayscale(in, out); 
out.copyTo(bitmap); 

私のRSファイルは次のようになります。

#pragma version(1) 
#pragma rs java_package_name(com.testing.android) 

uchar4 RS_KERNEL grayscale(uchar4 pixelIn, uint32_t x, uint32_t y) { 
    uchar grayscale = (pixelIn.r + pixelIn.g + pixelIn.b)/3; // simple average 

    uchar4 pixelOut; 
    pixelOut.a = pixelIn.a; 
    pixelOut.r = grayscale; 
    pixelOut.g = grayscale; 
    pixelOut.b = grayscale; 

    return pixelOut; 
} 

誰もが間違っているかもしれないもののアイデアを持っています上記のコードで?

ありがとうございました!

答えて

0

サポートライブラリ(android.support.v8.renderscript)からネイティブライブラリ(android.renderscript)に切り替えてこの問題を修正しました。

なぜこの違いがあるのか​​分かっている場合は、教えてください。

+0

Androidスタジオを使用していますか?あなたのプロジェクトのbuild.gradleは何ですか? –

+0

ええ、私はAndroidスタジオを使用しています。サポートライブラリを使用する前に、build.gradleのdefaultConfigの下にrenderscriptTargetApi 18とrenderscriptSupportModeEnabledを追加しました。 –

+0

新しいビルドツールが役立つかもしれません。また、ビルド - >クリーンプロジェクトもお試しください。 –

関連する問題