diff options
-rw-r--r-- | graphics/java/android/renderscript/Light.java | 75 | ||||
-rw-r--r-- | graphics/java/android/renderscript/RenderScript.java | 596 | ||||
-rw-r--r-- | graphics/jni/android_renderscript_RenderScript.cpp | 630 | ||||
-rw-r--r-- | libs/rs/rs.spec | 30 |
4 files changed, 684 insertions, 647 deletions
diff --git a/graphics/java/android/renderscript/Light.java b/graphics/java/android/renderscript/Light.java deleted file mode 100644 index 6212cae..0000000 --- a/graphics/java/android/renderscript/Light.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.renderscript; - -import android.util.Config; -import android.util.Log; - -/** - * @hide - * - **/ -public class Light extends BaseObj { - Light(int id, RenderScript rs) { - super(id, rs); - } - - public void setColor(float r, float g, float b) { - mRS.validate(); - mRS.nLightSetColor(mID, r, g, b); - } - - public void setPosition(float x, float y, float z) { - mRS.validate(); - mRS.nLightSetPosition(mID, x, y, z); - } - - public static class Builder { - RenderScript mRS; - boolean mIsMono; - boolean mIsLocal; - - public Builder(RenderScript rs) { - mRS = rs; - mIsMono = false; - mIsLocal = false; - } - - public void lightSetIsMono(boolean isMono) { - mIsMono = isMono; - } - - public void lightSetIsLocal(boolean isLocal) { - mIsLocal = isLocal; - } - - static synchronized Light internalCreate(RenderScript rs, Builder b) { - rs.nSamplerBegin(); - rs.nLightSetIsMono(b.mIsMono); - rs.nLightSetIsLocal(b.mIsLocal); - int id = rs.nLightCreate(); - return new Light(id, rs); - } - - public Light create() { - mRS.validate(); - return internalCreate(mRS, this); - } - } - -} - diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java index 4eeb4d3..e42f9f6 100644 --- a/graphics/java/android/renderscript/RenderScript.java +++ b/graphics/java/android/renderscript/RenderScript.java @@ -57,151 +57,457 @@ public class RenderScript { } } + // Non-threadsafe functions. native void nInitElements(int a8, int rgba4444, int rgba8888, int rgb565); - native int nDeviceCreate(); native void nDeviceDestroy(int dev); native void nDeviceSetConfig(int dev, int param, int value); - native int nContextCreateGL(int dev, int ver, boolean useDepth); - native int nContextCreate(int dev, int ver); - native void nContextDestroy(int con); - native void nContextSetSurface(int w, int h, Surface sur); - native void nContextSetPriority(int p); - native void nContextDump(int bits); - native void nContextFinish(); - - native void nContextBindRootScript(int script); - native void nContextBindSampler(int sampler, int slot); - native void nContextBindProgramStore(int pfs); - native void nContextBindProgramFragment(int pf); - native void nContextBindProgramVertex(int pf); - native void nContextBindProgramRaster(int pr); - native void nContextPause(); - native void nContextResume(); - native int nContextGetMessage(int[] data, boolean wait); - native void nContextInitToClient(); - native void nContextDeinitToClient(); - - native void nAssignName(int obj, byte[] name); - native String nGetName(int obj); - native void nObjDestroy(int id); - native void nObjDestroyOOB(int id); - native int nFileOpen(byte[] name); - - - native int nElementCreate(int type, int kind, boolean norm, int vecSize); - native int nElementCreate2(int[] elements, String[] names); - native void nElementGetNativeData(int id, int[] elementData); - native void nElementGetSubElements(int id, int[] IDs, String[] names); - - native void nTypeBegin(int elementID); - native void nTypeAdd(int dim, int val); - native int nTypeCreate(); - native void nTypeFinalDestroy(Type t); - native void nTypeSetupFields(Type t, int[] types, int[] bits, Field[] IDs); - native void nTypeGetNativeData(int id, int[] typeData); - - native int nAllocationCreateTyped(int type); - native int nAllocationCreateFromBitmap(int dstFmt, boolean genMips, Bitmap bmp); - native int nAllocationCreateBitmapRef(int type, Bitmap bmp); - native int nAllocationCreateFromBitmapBoxed(int dstFmt, boolean genMips, Bitmap bmp); - native int nAllocationCreateFromAssetStream(int dstFmt, boolean genMips, int assetStream); - - native void nAllocationUploadToTexture(int alloc, boolean genMips, int baseMioLevel); - native void nAllocationUploadToBufferObject(int alloc); - - native void nAllocationSubData1D(int id, int off, int count, int[] d, int sizeBytes); - native void nAllocationSubData1D(int id, int off, int count, short[] d, int sizeBytes); - native void nAllocationSubData1D(int id, int off, int count, byte[] d, int sizeBytes); - native void nAllocationSubData1D(int id, int off, int count, float[] d, int sizeBytes); - - native void nAllocationSubData2D(int id, int xoff, int yoff, int w, int h, int[] d, int sizeBytes); - native void nAllocationSubData2D(int id, int xoff, int yoff, int w, int h, float[] d, int sizeBytes); - native void nAllocationRead(int id, int[] d); - native void nAllocationRead(int id, float[] d); - native void nAllocationSubDataFromObject(int id, Type t, int offset, Object o); - native void nAllocationSubReadFromObject(int id, Type t, int offset, Object o); - native int nAllocationGetType(int id); - - native int nFileA3DCreateFromAssetStream(int assetStream); - native int nFileA3DGetNumIndexEntries(int fileA3D); - native void nFileA3DGetIndexEntries(int fileA3D, int numEntries, int[] IDs, String[] names); - native int nFileA3DGetEntryByIndex(int fileA3D, int index); - - native int nFontCreateFromFile(String fileName, int size, int dpi); - - native void nAdapter1DBindAllocation(int ad, int alloc); - native void nAdapter1DSetConstraint(int ad, int dim, int value); - native void nAdapter1DData(int ad, int[] d); - native void nAdapter1DData(int ad, float[] d); - native void nAdapter1DSubData(int ad, int off, int count, int[] d); - native void nAdapter1DSubData(int ad, int off, int count, float[] d); - native int nAdapter1DCreate(); - - native void nAdapter2DBindAllocation(int ad, int alloc); - native void nAdapter2DSetConstraint(int ad, int dim, int value); - native void nAdapter2DData(int ad, int[] d); - native void nAdapter2DData(int ad, float[] d); - native void nAdapter2DSubData(int ad, int xoff, int yoff, int w, int h, int[] d); - native void nAdapter2DSubData(int ad, int xoff, int yoff, int w, int h, float[] d); - native int nAdapter2DCreate(); - - native void nScriptBindAllocation(int script, int alloc, int slot); - native void nScriptSetTimeZone(int script, byte[] timeZone); - native void nScriptInvoke(int id, int slot); - native void nScriptInvokeV(int id, int slot, byte[] params); - native void nScriptSetVarI(int id, int slot, int val); - native void nScriptSetVarF(int id, int slot, float val); - native void nScriptSetVarV(int id, int slot, byte[] val); - - native void nScriptCBegin(); - native void nScriptCSetScript(byte[] script, int offset, int length); - native int nScriptCCreate(); - - native void nSamplerBegin(); - native void nSamplerSet(int param, int value); - native int nSamplerCreate(); - - native void nProgramStoreBegin(int in, int out); - native void nProgramStoreDepthFunc(int func); - native void nProgramStoreDepthMask(boolean enable); - native void nProgramStoreColorMask(boolean r, boolean g, boolean b, boolean a); - native void nProgramStoreBlendFunc(int src, int dst); - native void nProgramStoreDither(boolean enable); - native int nProgramStoreCreate(); - - native int nProgramRasterCreate(boolean pointSmooth, boolean lineSmooth, boolean pointSprite); - native void nProgramRasterSetLineWidth(int pr, float v); - native void nProgramRasterSetCullMode(int pr, int mode); - - native void nProgramBindConstants(int pv, int slot, int mID); - native void nProgramBindTexture(int vpf, int slot, int a); - native void nProgramBindSampler(int vpf, int slot, int s); - - native int nProgramFragmentCreate(int[] params); - native int nProgramFragmentCreate2(String shader, int[] params); - - native int nProgramVertexCreate(boolean texMat); - native int nProgramVertexCreate2(String shader, int[] params); - - native void nLightBegin(); - native void nLightSetIsMono(boolean isMono); - native void nLightSetIsLocal(boolean isLocal); - native int nLightCreate(); - native void nLightSetColor(int l, float r, float g, float b); - native void nLightSetPosition(int l, float x, float y, float z); - - native int nMeshCreate(int vtxCount, int indexCount); - native void nMeshBindVertex(int id, int alloc, int slot); - native void nMeshBindIndex(int id, int alloc, int prim, int slot); - native int nMeshGetVertexBufferCount(int id); - native int nMeshGetIndexCount(int id); - native void nMeshGetVertices(int id, int[] vtxIds, int vtxIdCount); - native void nMeshGetIndices(int id, int[] idxIds, int[] primitives, int vtxIdCount); - - native void nAnimationBegin(int attribCount, int keyframeCount); - native void nAnimationAdd(float time, float[] attribs); - native int nAnimationCreate(); + native int nContextGetMessage(int con, int[] data, boolean wait); + native void nContextInitToClient(int con); + native void nContextDeinitToClient(int con); + + + // Methods below are wrapped to protect the non-threadsafe + // lockless fifo. + native int rsnContextCreateGL(int dev, int ver, boolean useDepth); + synchronized int nContextCreateGL(int dev, int ver, boolean useDepth) { + return rsnContextCreateGL(dev, ver, useDepth); + } + native int rsnContextCreate(int dev, int ver); + synchronized int nContextCreate(int dev, int ver) { + return rsnContextCreate(dev, ver); + } + native void rsnContextDestroy(int con); + synchronized void nContextDestroy() { + rsnContextDestroy(mContext); + } + native void rsnContextSetSurface(int con, int w, int h, Surface sur); + synchronized void nContextSetSurface(int w, int h, Surface sur) { + rsnContextSetSurface(mContext, w, h, sur); + } + native void rsnContextSetPriority(int con, int p); + synchronized void nContextSetPriority(int p) { + rsnContextSetPriority(mContext, p); + } + native void rsnContextDump(int con, int bits); + synchronized void nContextDump(int bits) { + rsnContextDump(mContext, bits); + } + native void rsnContextFinish(int con); + synchronized void nContextFinish() { + rsnContextFinish(mContext); + } + + native void rsnContextBindRootScript(int con, int script); + synchronized void nContextBindRootScript(int script) { + rsnContextBindRootScript(mContext, script); + } + native void rsnContextBindSampler(int con, int sampler, int slot); + synchronized void nContextBindSampler(int sampler, int slot) { + rsnContextBindSampler(mContext, sampler, slot); + } + native void rsnContextBindProgramStore(int con, int pfs); + synchronized void nContextBindProgramStore(int pfs) { + rsnContextBindProgramStore(mContext, pfs); + } + native void rsnContextBindProgramFragment(int con, int pf); + synchronized void nContextBindProgramFragment(int pf) { + rsnContextBindProgramFragment(mContext, pf); + } + native void rsnContextBindProgramVertex(int con, int pv); + synchronized void nContextBindProgramVertex(int pv) { + rsnContextBindProgramVertex(mContext, pv); + } + native void rsnContextBindProgramRaster(int con, int pr); + synchronized void nContextBindProgramRaster(int pr) { + rsnContextBindProgramRaster(mContext, pr); + } + native void rsnContextPause(int con); + synchronized void nContextPause() { + rsnContextPause(mContext); + } + native void rsnContextResume(int con); + synchronized void nContextResume() { + rsnContextResume(mContext); + } + + native void rsnAssignName(int con, int obj, byte[] name); + synchronized void nAssignName(int obj, byte[] name) { + rsnAssignName(mContext, obj, name); + } + native String rsnGetName(int con, int obj); + synchronized String nGetName(int obj) { + return rsnGetName(mContext, obj); + } + native void rsnObjDestroy(int con, int id); + synchronized void nObjDestroy(int id) { + rsnObjDestroy(mContext, id); + } + native void rsnObjDestroyOOB(int con, int id); + synchronized void nObjDestroyOOB(int id) { + rsnObjDestroyOOB(mContext, id); + } + native int rsnFileOpen(int con, byte[] name); + synchronized int nFileOpen(byte[] name) { + return rsnFileOpen(mContext, name); + } + + native int rsnElementCreate(int con, int type, int kind, boolean norm, int vecSize); + synchronized int nElementCreate(int type, int kind, boolean norm, int vecSize) { + return rsnElementCreate(mContext, type, kind, norm, vecSize); + } + native int rsnElementCreate2(int con, int[] elements, String[] names); + synchronized int nElementCreate2(int[] elements, String[] names) { + return rsnElementCreate2(mContext, elements, names); + } + native void rsnElementGetNativeData(int con, int id, int[] elementData); + synchronized void nElementGetNativeData(int id, int[] elementData) { + rsnElementGetNativeData(mContext, id, elementData); + } + native void rsnElementGetSubElements(int con, int id, int[] IDs, String[] names); + synchronized void nElementGetSubElements(int id, int[] IDs, String[] names) { + rsnElementGetSubElements(mContext, id, IDs, names); + } + + native void rsnTypeBegin(int con, int elementID); + synchronized void nTypeBegin(int elementID) { + rsnTypeBegin(mContext, elementID); + } + native void rsnTypeAdd(int con, int dim, int val); + synchronized void nTypeAdd(int dim, int val) { + rsnTypeAdd(mContext, dim, val); + } + native int rsnTypeCreate(int con); + synchronized int nTypeCreate() { + return rsnTypeCreate(mContext); + } + native void rsnTypeFinalDestroy(int con, Type t); + synchronized void nTypeFinalDestroy(Type t) { + rsnTypeFinalDestroy(mContext, t); + } + native void rsnTypeSetupFields(int con, Type t, int[] types, int[] bits, Field[] IDs); + synchronized void nTypeSetupFields(Type t, int[] types, int[] bits, Field[] IDs) { + rsnTypeSetupFields(mContext, t, types, bits, IDs); + } + native void rsnTypeGetNativeData(int con, int id, int[] typeData); + synchronized void nTypeGetNativeData(int id, int[] typeData) { + rsnTypeGetNativeData(mContext, id, typeData); + } + + native int rsnAllocationCreateTyped(int con, int type); + synchronized int nAllocationCreateTyped(int type) { + return rsnAllocationCreateTyped(mContext, type); + } + native int rsnAllocationCreateFromBitmap(int con, int dstFmt, boolean genMips, Bitmap bmp); + synchronized int nAllocationCreateFromBitmap(int dstFmt, boolean genMips, Bitmap bmp) { + return rsnAllocationCreateFromBitmap(mContext, dstFmt, genMips, bmp); + } + native int rsnAllocationCreateBitmapRef(int con, int type, Bitmap bmp); + synchronized int nAllocationCreateBitmapRef(int type, Bitmap bmp) { + return rsnAllocationCreateBitmapRef(mContext, type, bmp); + } + native int rsnAllocationCreateFromBitmapBoxed(int con, int dstFmt, boolean genMips, Bitmap bmp); + synchronized int nAllocationCreateFromBitmapBoxed(int dstFmt, boolean genMips, Bitmap bmp) { + return rsnAllocationCreateFromBitmapBoxed(mContext, dstFmt, genMips, bmp); + } + native int rsnAllocationCreateFromAssetStream(int con, int dstFmt, boolean genMips, int assetStream); + synchronized int nAllocationCreateFromAssetStream(int dstFmt, boolean genMips, int assetStream) { + return rsnAllocationCreateFromAssetStream(mContext, dstFmt, genMips, assetStream); + } + + native void rsnAllocationUploadToTexture(int con, int alloc, boolean genMips, int baseMioLevel); + synchronized void nAllocationUploadToTexture(int alloc, boolean genMips, int baseMioLevel) { + rsnAllocationUploadToTexture(mContext, alloc, genMips, baseMioLevel); + } + native void rsnAllocationUploadToBufferObject(int con, int alloc); + synchronized void nAllocationUploadToBufferObject(int alloc) { + rsnAllocationUploadToBufferObject(mContext, alloc); + } + + native void rsnAllocationSubData1D(int con, int id, int off, int count, int[] d, int sizeBytes); + synchronized void nAllocationSubData1D(int id, int off, int count, int[] d, int sizeBytes) { + rsnAllocationSubData1D(mContext, id, off, count, d, sizeBytes); + } + native void rsnAllocationSubData1D(int con, int id, int off, int count, short[] d, int sizeBytes); + synchronized void nAllocationSubData1D(int id, int off, int count, short[] d, int sizeBytes) { + rsnAllocationSubData1D(mContext, id, off, count, d, sizeBytes); + } + native void rsnAllocationSubData1D(int con, int id, int off, int count, byte[] d, int sizeBytes); + synchronized void nAllocationSubData1D(int id, int off, int count, byte[] d, int sizeBytes) { + rsnAllocationSubData1D(mContext, id, off, count, d, sizeBytes); + } + native void rsnAllocationSubData1D(int con, int id, int off, int count, float[] d, int sizeBytes); + synchronized void nAllocationSubData1D(int id, int off, int count, float[] d, int sizeBytes) { + rsnAllocationSubData1D(mContext, id, off, count, d, sizeBytes); + } + + native void rsnAllocationSubData2D(int con, int id, int xoff, int yoff, int w, int h, int[] d, int sizeBytes); + synchronized void nAllocationSubData2D(int id, int xoff, int yoff, int w, int h, int[] d, int sizeBytes) { + rsnAllocationSubData2D(mContext, id, xoff, yoff, w, h, d, sizeBytes); + } + native void rsnAllocationSubData2D(int con, int id, int xoff, int yoff, int w, int h, float[] d, int sizeBytes); + synchronized void nAllocationSubData2D(int id, int xoff, int yoff, int w, int h, float[] d, int sizeBytes) { + rsnAllocationSubData2D(mContext, id, xoff, yoff, w, h, d, sizeBytes); + } + native void rsnAllocationRead(int con, int id, int[] d); + synchronized void nAllocationRead(int id, int[] d) { + rsnAllocationRead(mContext, id, d); + } + native void rsnAllocationRead(int con, int id, float[] d); + synchronized void nAllocationRead(int id, float[] d) { + rsnAllocationRead(mContext, id, d); + } + native void rsnAllocationSubDataFromObject(int con, int id, Type t, int offset, Object o); + synchronized void nAllocationSubDataFromObject(int id, Type t, int offset, Object o) { + rsnAllocationSubDataFromObject(mContext, id, t, offset, o); + } + native void rsnAllocationSubReadFromObject(int con, int id, Type t, int offset, Object o); + synchronized void nAllocationSubReadFromObject(int id, Type t, int offset, Object o) { + rsnAllocationSubReadFromObject(mContext, id, t, offset, o); + } + native int rsnAllocationGetType(int con, int id); + synchronized int nAllocationGetType(int id) { + return rsnAllocationGetType(mContext, id); + } + + native int rsnFileA3DCreateFromAssetStream(int con, int assetStream); + synchronized int nFileA3DCreateFromAssetStream(int assetStream) { + return rsnFileA3DCreateFromAssetStream(mContext, assetStream); + } + native int rsnFileA3DGetNumIndexEntries(int con, int fileA3D); + synchronized int nFileA3DGetNumIndexEntries(int fileA3D) { + return rsnFileA3DGetNumIndexEntries(mContext, fileA3D); + } + native void rsnFileA3DGetIndexEntries(int con, int fileA3D, int numEntries, int[] IDs, String[] names); + synchronized void nFileA3DGetIndexEntries(int fileA3D, int numEntries, int[] IDs, String[] names) { + rsnFileA3DGetIndexEntries(mContext, fileA3D, numEntries, IDs, names); + } + native int rsnFileA3DGetEntryByIndex(int con, int fileA3D, int index); + synchronized int nFileA3DGetEntryByIndex(int fileA3D, int index) { + return rsnFileA3DGetEntryByIndex(mContext, fileA3D, index); + } + + native int rsnFontCreateFromFile(int con, String fileName, int size, int dpi); + synchronized int nFontCreateFromFile(String fileName, int size, int dpi) { + return rsnFontCreateFromFile(mContext, fileName, size, dpi); + } + + native void rsnAdapter1DBindAllocation(int con, int ad, int alloc); + synchronized void nAdapter1DBindAllocation(int ad, int alloc) { + rsnAdapter1DBindAllocation(mContext, ad, alloc); + } + native void rsnAdapter1DSetConstraint(int con, int ad, int dim, int value); + synchronized void nAdapter1DSetConstraint(int ad, int dim, int value) { + rsnAdapter1DSetConstraint(mContext, ad, dim, value); + } + native void rsnAdapter1DData(int con, int ad, int[] d); + synchronized void nAdapter1DData(int ad, int[] d) { + rsnAdapter1DData(mContext, ad, d); + } + native void rsnAdapter1DData(int con, int ad, float[] d); + synchronized void nAdapter1DData(int ad, float[] d) { + rsnAdapter1DData(mContext, ad, d); + } + native void rsnAdapter1DSubData(int con, int ad, int off, int count, int[] d); + synchronized void nAdapter1DSubData(int ad, int off, int count, int[] d) { + rsnAdapter1DSubData(mContext, ad, off, count, d); + } + native void rsnAdapter1DSubData(int con, int ad, int off, int count, float[] d); + synchronized void nAdapter1DSubData(int ad, int off, int count, float[] d) { + rsnAdapter1DSubData(mContext, ad, off, count, d); + } + native int rsnAdapter1DCreate(int con); + synchronized int nAdapter1DCreate() { + return rsnAdapter1DCreate(mContext); + } + + native void rsnAdapter2DBindAllocation(int con, int ad, int alloc); + synchronized void nAdapter2DBindAllocation(int ad, int alloc) { + rsnAdapter2DBindAllocation(mContext, ad, alloc); + } + native void rsnAdapter2DSetConstraint(int con, int ad, int dim, int value); + synchronized void nAdapter2DSetConstraint(int ad, int dim, int value) { + rsnAdapter2DSetConstraint(mContext, ad, dim, value); + } + native void rsnAdapter2DData(int con, int ad, int[] d); + synchronized void nAdapter2DData(int ad, int[] d) { + rsnAdapter2DData(mContext, ad, d); + } + native void rsnAdapter2DData(int con, int ad, float[] d); + synchronized void nAdapter2DData(int ad, float[] d) { + rsnAdapter2DData(mContext, ad, d); + } + native void rsnAdapter2DSubData(int con, int ad, int xoff, int yoff, int w, int h, int[] d); + synchronized void nAdapter2DSubData(int ad, int xoff, int yoff, int w, int h, int[] d) { + rsnAdapter2DSubData(mContext, ad, xoff, yoff, w, h, d); + } + native void rsnAdapter2DSubData(int con, int ad, int xoff, int yoff, int w, int h, float[] d); + synchronized void nAdapter2DSubData(int ad, int xoff, int yoff, int w, int h, float[] d) { + rsnAdapter2DSubData(mContext, ad, xoff, yoff, w, h, d); + } + native int rsnAdapter2DCreate(int con); + synchronized int nAdapter2DCreate() { + return rsnAdapter2DCreate(mContext); + } + + native void rsnScriptBindAllocation(int con, int script, int alloc, int slot); + synchronized void nScriptBindAllocation(int script, int alloc, int slot) { + rsnScriptBindAllocation(mContext, script, alloc, slot); + } + native void rsnScriptSetTimeZone(int con, int script, byte[] timeZone); + synchronized void nScriptSetTimeZone(int script, byte[] timeZone) { + rsnScriptSetTimeZone(mContext, script, timeZone); + } + native void rsnScriptInvoke(int con, int id, int slot); + synchronized void nScriptInvoke(int id, int slot) { + rsnScriptInvoke(mContext, id, slot); + } + native void rsnScriptInvokeV(int con, int id, int slot, byte[] params); + synchronized void nScriptInvokeV(int id, int slot, byte[] params) { + rsnScriptInvokeV(mContext, id, slot, params); + } + native void rsnScriptSetVarI(int con, int id, int slot, int val); + synchronized void nScriptSetVarI(int id, int slot, int val) { + rsnScriptSetVarI(mContext, id, slot, val); + } + native void rsnScriptSetVarF(int con, int id, int slot, float val); + synchronized void nScriptSetVarF(int id, int slot, float val) { + rsnScriptSetVarF(mContext, id, slot, val); + } + native void rsnScriptSetVarV(int con, int id, int slot, byte[] val); + synchronized void nScriptSetVarV(int id, int slot, byte[] val) { + rsnScriptSetVarV(mContext, id, slot, val); + } + + native void rsnScriptCBegin(int con); + synchronized void nScriptCBegin() { + rsnScriptCBegin(mContext); + } + native void rsnScriptCSetScript(int con, byte[] script, int offset, int length); + synchronized void nScriptCSetScript(byte[] script, int offset, int length) { + rsnScriptCSetScript(mContext, script, offset, length); + } + native int rsnScriptCCreate(int con); + synchronized int nScriptCCreate() { + return rsnScriptCCreate(mContext); + } + + native void rsnSamplerBegin(int con); + synchronized void nSamplerBegin() { + rsnSamplerBegin(mContext); + } + native void rsnSamplerSet(int con, int param, int value); + synchronized void nSamplerSet(int param, int value) { + rsnSamplerSet(mContext, param, value); + } + native int rsnSamplerCreate(int con); + synchronized int nSamplerCreate() { + return rsnSamplerCreate(mContext); + } + + native void rsnProgramStoreBegin(int con, int in, int out); + synchronized void nProgramStoreBegin(int in, int out) { + rsnProgramStoreBegin(mContext, in, out); + } + native void rsnProgramStoreDepthFunc(int con, int func); + synchronized void nProgramStoreDepthFunc(int func) { + rsnProgramStoreDepthFunc(mContext, func); + } + native void rsnProgramStoreDepthMask(int con, boolean enable); + synchronized void nProgramStoreDepthMask(boolean enable) { + rsnProgramStoreDepthMask(mContext, enable); + } + native void rsnProgramStoreColorMask(int con, boolean r, boolean g, boolean b, boolean a); + synchronized void nProgramStoreColorMask(boolean r, boolean g, boolean b, boolean a) { + rsnProgramStoreColorMask(mContext, r, g, b, a); + } + native void rsnProgramStoreBlendFunc(int con, int src, int dst); + synchronized void nProgramStoreBlendFunc(int src, int dst) { + rsnProgramStoreBlendFunc(mContext, src, dst); + } + native void rsnProgramStoreDither(int con, boolean enable); + synchronized void nProgramStoreDither(boolean enable) { + rsnProgramStoreDither(mContext, enable); + } + native int rsnProgramStoreCreate(int con); + synchronized int nProgramStoreCreate() { + return rsnProgramStoreCreate(mContext); + } + + native int rsnProgramRasterCreate(int con, boolean pointSmooth, boolean lineSmooth, boolean pointSprite); + synchronized int nProgramRasterCreate(boolean pointSmooth, boolean lineSmooth, boolean pointSprite) { + return rsnProgramRasterCreate(mContext, pointSmooth, lineSmooth, pointSprite); + } + native void rsnProgramRasterSetLineWidth(int con, int pr, float v); + synchronized void nProgramRasterSetLineWidth(int pr, float v) { + rsnProgramRasterSetLineWidth(mContext, pr, v); + } + native void rsnProgramRasterSetCullMode(int con, int pr, int mode); + synchronized void nProgramRasterSetCullMode(int pr, int mode) { + rsnProgramRasterSetCullMode(mContext, pr, mode); + } + + native void rsnProgramBindConstants(int con, int pv, int slot, int mID); + synchronized void nProgramBindConstants(int pv, int slot, int mID) { + rsnProgramBindConstants(mContext, pv, slot, mID); + } + native void rsnProgramBindTexture(int con, int vpf, int slot, int a); + synchronized void nProgramBindTexture(int vpf, int slot, int a) { + rsnProgramBindTexture(mContext, vpf, slot, a); + } + native void rsnProgramBindSampler(int con, int vpf, int slot, int s); + synchronized void nProgramBindSampler(int vpf, int slot, int s) { + rsnProgramBindSampler(mContext, vpf, slot, s); + } + + native int rsnProgramFragmentCreate(int con, int[] params); + synchronized int nProgramFragmentCreate(int[] params) { + return rsnProgramFragmentCreate(mContext, params); + } + native int rsnProgramFragmentCreate2(int con, String shader, int[] params); + synchronized int nProgramFragmentCreate2(String shader, int[] params) { + return rsnProgramFragmentCreate2(mContext, shader, params); + } + + native int rsnProgramVertexCreate(int con, boolean texMat); + synchronized int nProgramVertexCreate(boolean texMat) { + return rsnProgramVertexCreate(mContext, texMat); + } + native int rsnProgramVertexCreate2(int con, String shader, int[] params); + synchronized int nProgramVertexCreate2(String shader, int[] params) { + return rsnProgramVertexCreate2(mContext, shader, params); + } + + + native int rsnMeshCreate(int con, int vtxCount, int indexCount); + synchronized int nMeshCreate(int vtxCount, int indexCount) { + return rsnMeshCreate(mContext, vtxCount, indexCount); + } + native void rsnMeshBindVertex(int con, int id, int alloc, int slot); + synchronized void nMeshBindVertex(int id, int alloc, int slot) { + rsnMeshBindVertex(mContext, id, alloc, slot); + } + native void rsnMeshBindIndex(int con, int id, int alloc, int prim, int slot); + synchronized void nMeshBindIndex(int id, int alloc, int prim, int slot) { + rsnMeshBindIndex(mContext, id, alloc, prim, slot); + } + native int rsnMeshGetVertexBufferCount(int con, int id); + synchronized int nMeshGetVertexBufferCount(int id) { + return rsnMeshGetVertexBufferCount(mContext, id); + } + native int rsnMeshGetIndexCount(int con, int id); + synchronized int nMeshGetIndexCount(int id) { + return rsnMeshGetIndexCount(mContext, id); + } + native void rsnMeshGetVertices(int con, int id, int[] vtxIds, int vtxIdCount); + synchronized void nMeshGetVertices(int id, int[] vtxIds, int vtxIdCount) { + rsnMeshGetVertices(mContext, id, vtxIds, vtxIdCount); + } + native void rsnMeshGetIndices(int con, int id, int[] idxIds, int[] primitives, int vtxIdCount); + synchronized void nMeshGetIndices(int id, int[] idxIds, int[] primitives, int vtxIdCount) { + rsnMeshGetIndices(mContext, id, idxIds, primitives, vtxIdCount); + } + protected int mDev; protected int mContext; @@ -293,9 +599,9 @@ public class RenderScript { // This function is a temporary solution. The final solution will // used typed allocations where the message id is the type indicator. int[] rbuf = new int[16]; - mRS.nContextInitToClient(); + mRS.nContextInitToClient(mRS.mContext); while(mRun) { - int msg = mRS.nContextGetMessage(rbuf, true); + int msg = mRS.nContextGetMessage(mRS.mContext, rbuf, true); if (msg == 0) { // Should only happen during teardown. // But we want to avoid starving other threads during @@ -341,10 +647,10 @@ public class RenderScript { public void destroy() { validate(); - nContextDeinitToClient(); + nContextDeinitToClient(mContext); mMessageThread.mRun = false; - nContextDestroy(mContext); + nContextDestroy(); mContext = 0; nDeviceDestroy(mDev); diff --git a/graphics/jni/android_renderscript_RenderScript.cpp b/graphics/jni/android_renderscript_RenderScript.cpp index 8968dfb..3b85fdd 100644 --- a/graphics/jni/android_renderscript_RenderScript.cpp +++ b/graphics/jni/android_renderscript_RenderScript.cpp @@ -85,19 +85,16 @@ static void nInitElements(JNIEnv *_env, jobject _this, jint a8, jint rgba4444, j // --------------------------------------------------------------------------- static void -nContextFinish(JNIEnv *_env, jobject _this) +nContextFinish(JNIEnv *_env, jobject _this, RsContext con) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nContextFinish, con(%p)", con); rsContextFinish(con); } static void -nAssignName(JNIEnv *_env, jobject _this, jint obj, jbyteArray str) +nAssignName(JNIEnv *_env, jobject _this, RsContext con, jint obj, jbyteArray str) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nAssignName, con(%p), obj(%p)", con, (void *)obj); - jint len = _env->GetArrayLength(str); jbyte * cptr = (jbyte *) _env->GetPrimitiveArrayCritical(str, 0); rsAssignName(con, (void *)obj, (const char *)cptr, len); @@ -105,40 +102,34 @@ nAssignName(JNIEnv *_env, jobject _this, jint obj, jbyteArray str) } static jstring -nGetName(JNIEnv *_env, jobject _this, jint obj) +nGetName(JNIEnv *_env, jobject _this, RsContext con, jint obj) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nGetName, con(%p), obj(%p)", con, (void *)obj); - const char *name = NULL; rsGetName(con, (void *)obj, &name); return _env->NewStringUTF(name); } static void -nObjDestroy(JNIEnv *_env, jobject _this, jint obj) +nObjDestroy(JNIEnv *_env, jobject _this, RsContext con, jint obj) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nObjDestroy, con(%p) obj(%p)", con, (void *)obj); rsObjDestroy(con, (void *)obj); } static void -nObjDestroyOOB(JNIEnv *_env, jobject _this, jint obj) +nObjDestroyOOB(JNIEnv *_env, jobject _this, RsContext con, jint obj) { // This function only differs from nObjDestroy in that it calls the // special Out Of Band version of ObjDestroy which is thread safe. - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nObjDestroyOOB, con(%p) obj(%p)", con, (void *)obj); rsObjDestroyOOB(con, (void *)obj); } static jint -nFileOpen(JNIEnv *_env, jobject _this, jbyteArray str) +nFileOpen(JNIEnv *_env, jobject _this, RsContext con, jbyteArray str) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nFileOpen, con(%p)", con); - jint len = _env->GetArrayLength(str); jbyte * cptr = (jbyte *) _env->GetPrimitiveArrayCritical(str, 0); jint ret = (jint)rsFileOpen(con, (const char *)cptr, len); @@ -184,9 +175,8 @@ nContextCreateGL(JNIEnv *_env, jobject _this, jint dev, jint ver, jboolean useDe } static void -nContextSetPriority(JNIEnv *_env, jobject _this, jint p) +nContextSetPriority(JNIEnv *_env, jobject _this, RsContext con, jint p) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("ContextSetPriority, con(%p), priority(%i)", con, p); rsContextSetPriority(con, p); } @@ -194,9 +184,8 @@ nContextSetPriority(JNIEnv *_env, jobject _this, jint p) static void -nContextSetSurface(JNIEnv *_env, jobject _this, jint width, jint height, jobject wnd) +nContextSetSurface(JNIEnv *_env, jobject _this, RsContext con, jint width, jint height, jobject wnd) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nContextSetSurface, con(%p), width(%i), height(%i), surface(%p)", con, width, height, (Surface *)wnd); Surface * window = NULL; @@ -212,40 +201,36 @@ nContextSetSurface(JNIEnv *_env, jobject _this, jint width, jint height, jobject } static void -nContextDestroy(JNIEnv *_env, jobject _this, jint con) +nContextDestroy(JNIEnv *_env, jobject _this, RsContext con) { - LOG_API("nContextDestroy, con(%p)", (RsContext)con); - rsContextDestroy((RsContext)con); + LOG_API("nContextDestroy, con(%p)", con); + rsContextDestroy(con); } static void -nContextDump(JNIEnv *_env, jobject _this, jint bits) +nContextDump(JNIEnv *_env, jobject _this, RsContext con, jint bits) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nContextDump, con(%p) bits(%i)", (RsContext)con, bits); rsContextDump((RsContext)con, bits); } static void -nContextPause(JNIEnv *_env, jobject _this) +nContextPause(JNIEnv *_env, jobject _this, RsContext con) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nContextPause, con(%p)", con); rsContextPause(con); } static void -nContextResume(JNIEnv *_env, jobject _this) +nContextResume(JNIEnv *_env, jobject _this, RsContext con) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nContextResume, con(%p)", con); rsContextResume(con); } static jint -nContextGetMessage(JNIEnv *_env, jobject _this, jintArray data, jboolean wait) +nContextGetMessage(JNIEnv *_env, jobject _this, RsContext con, jintArray data, jboolean wait) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); jint len = _env->GetArrayLength(data); LOG_API("nContextGetMessage, con(%p), len(%i)", con, len); jint *ptr = _env->GetIntArrayElements(data, NULL); @@ -258,34 +243,30 @@ nContextGetMessage(JNIEnv *_env, jobject _this, jintArray data, jboolean wait) return id; } -static void nContextInitToClient(JNIEnv *_env, jobject _this) +static void nContextInitToClient(JNIEnv *_env, jobject _this, RsContext con) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nContextInitToClient, con(%p)", con); rsContextInitToClient(con); } -static void nContextDeinitToClient(JNIEnv *_env, jobject _this) +static void nContextDeinitToClient(JNIEnv *_env, jobject _this, RsContext con) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nContextDeinitToClient, con(%p)", con); rsContextDeinitToClient(con); } static jint -nElementCreate(JNIEnv *_env, jobject _this, jint type, jint kind, jboolean norm, jint size) +nElementCreate(JNIEnv *_env, jobject _this, RsContext con, jint type, jint kind, jboolean norm, jint size) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nElementCreate, con(%p), type(%i), kind(%i), norm(%i), size(%i)", con, type, kind, norm, size); return (jint)rsElementCreate(con, (RsDataType)type, (RsDataKind)kind, norm, size); } static jint -nElementCreate2(JNIEnv *_env, jobject _this, jintArray _ids, jobjectArray _names) +nElementCreate2(JNIEnv *_env, jobject _this, RsContext con, jintArray _ids, jobjectArray _names) { int fieldCount = _env->GetArrayLength(_ids); - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nElementCreate2, con(%p)", con); jint *ids = _env->GetIntArrayElements(_ids, NULL); @@ -309,10 +290,9 @@ nElementCreate2(JNIEnv *_env, jobject _this, jintArray _ids, jobjectArray _names } static void -nElementGetNativeData(JNIEnv *_env, jobject _this, jint id, jintArray _elementData) +nElementGetNativeData(JNIEnv *_env, jobject _this, RsContext con, jint id, jintArray _elementData) { int dataSize = _env->GetArrayLength(_elementData); - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nElementGetNativeData, con(%p)", con); // we will pack mType; mKind; mNormalized; mVectorSize; NumSubElements @@ -328,10 +308,9 @@ nElementGetNativeData(JNIEnv *_env, jobject _this, jint id, jintArray _elementDa static void -nElementGetSubElements(JNIEnv *_env, jobject _this, jint id, jintArray _IDs, jobjectArray _names) +nElementGetSubElements(JNIEnv *_env, jobject _this, RsContext con, jint id, jintArray _IDs, jobjectArray _names) { int dataSize = _env->GetArrayLength(_IDs); - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nElementGetSubElements, con(%p)", con); uint32_t *ids = (uint32_t *)malloc((uint32_t)dataSize * sizeof(uint32_t)); @@ -351,39 +330,34 @@ nElementGetSubElements(JNIEnv *_env, jobject _this, jint id, jintArray _IDs, job // ----------------------------------- static void -nTypeBegin(JNIEnv *_env, jobject _this, jint eID) +nTypeBegin(JNIEnv *_env, jobject _this, RsContext con, jint eID) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nTypeBegin, con(%p) e(%p)", con, (RsElement)eID); rsTypeBegin(con, (RsElement)eID); } static void -nTypeAdd(JNIEnv *_env, jobject _this, jint dim, jint val) +nTypeAdd(JNIEnv *_env, jobject _this, RsContext con, jint dim, jint val) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nTypeAdd, con(%p) dim(%i), val(%i)", con, dim, val); rsTypeAdd(con, (RsDimension)dim, val); } static jint -nTypeCreate(JNIEnv *_env, jobject _this) +nTypeCreate(JNIEnv *_env, jobject _this, RsContext con) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nTypeCreate, con(%p)", con); return (jint)rsTypeCreate(con); } static void -nTypeGetNativeData(JNIEnv *_env, jobject _this, jint id, jintArray _typeData) +nTypeGetNativeData(JNIEnv *_env, jobject _this, RsContext con, jint id, jintArray _typeData) { // We are packing 6 items: mDimX; mDimY; mDimZ; // mDimLOD; mDimFaces; mElement; into typeData int elementCount = _env->GetArrayLength(_typeData); assert(elementCount == 6); - - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nTypeCreate, con(%p)", con); uint32_t typeData[6]; @@ -457,7 +431,7 @@ struct TypeCache { //{"nTypeFinalDestroy", "(Landroid/renderscript/Type;)V", (void*)nTypeFinalDestroy }, static void -nTypeFinalDestroy(JNIEnv *_env, jobject _this, jobject _type) +nTypeFinalDestroy(JNIEnv *_env, jobject _this, RsContext con, jobject _type) { TypeCache *tc = (TypeCache *)_env->GetIntField(_type, gTypeNativeCache); free(tc); @@ -465,7 +439,7 @@ nTypeFinalDestroy(JNIEnv *_env, jobject _this, jobject _type) // native void nTypeSetupFields(Type t, int[] types, int[] bits, Field[] IDs); static void -nTypeSetupFields(JNIEnv *_env, jobject _this, jobject _type, jintArray _types, jintArray _bits, jobjectArray _IDs) +nTypeSetupFields(JNIEnv *_env, jobject _this, RsContext con, jobject _type, jintArray _types, jintArray _bits, jobjectArray _IDs) { int fieldCount = _env->GetArrayLength(_types); size_t structSize = sizeof(TypeCache) + (sizeof(TypeFieldCache) * (fieldCount-1)); @@ -515,25 +489,22 @@ nTypeSetupFields(JNIEnv *_env, jobject _this, jobject _type, jintArray _types, j // ----------------------------------- static jint -nAllocationCreateTyped(JNIEnv *_env, jobject _this, jint e) +nAllocationCreateTyped(JNIEnv *_env, jobject _this, RsContext con, jint e) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nAllocationCreateTyped, con(%p), e(%p)", con, (RsElement)e); return (jint) rsAllocationCreateTyped(con, (RsElement)e); } static void -nAllocationUploadToTexture(JNIEnv *_env, jobject _this, jint a, jboolean genMip, jint mip) +nAllocationUploadToTexture(JNIEnv *_env, jobject _this, RsContext con, jint a, jboolean genMip, jint mip) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nAllocationUploadToTexture, con(%p), a(%p), genMip(%i), mip(%i)", con, (RsAllocation)a, genMip, mip); rsAllocationUploadToTexture(con, (RsAllocation)a, genMip, mip); } static void -nAllocationUploadToBufferObject(JNIEnv *_env, jobject _this, jint a) +nAllocationUploadToBufferObject(JNIEnv *_env, jobject _this, RsContext con, jint a) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nAllocationUploadToBufferObject, con(%p), a(%p)", con, (RsAllocation)a); rsAllocationUploadToBufferObject(con, (RsAllocation)a); } @@ -559,9 +530,8 @@ static RsElement SkBitmapToPredefined(SkBitmap::Config cfg) } static int -nAllocationCreateFromBitmap(JNIEnv *_env, jobject _this, jint dstFmt, jboolean genMips, jobject jbitmap) +nAllocationCreateFromBitmap(JNIEnv *_env, jobject _this, RsContext con, jint dstFmt, jboolean genMips, jobject jbitmap) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); SkBitmap const * nativeBitmap = (SkBitmap const *)_env->GetIntField(jbitmap, gNativeBitmapID); const SkBitmap& bitmap(*nativeBitmap); @@ -587,9 +557,8 @@ static void ReleaseBitmapCallback(void *bmp) } static int -nAllocationCreateBitmapRef(JNIEnv *_env, jobject _this, jint type, jobject jbitmap) +nAllocationCreateBitmapRef(JNIEnv *_env, jobject _this, RsContext con, jint type, jobject jbitmap) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); SkBitmap * nativeBitmap = (SkBitmap *)_env->GetIntField(jbitmap, gNativeBitmapID); @@ -601,10 +570,8 @@ nAllocationCreateBitmapRef(JNIEnv *_env, jobject _this, jint type, jobject jbitm } static int -nAllocationCreateFromAssetStream(JNIEnv *_env, jobject _this, jint dstFmt, jboolean genMips, jint native_asset) +nAllocationCreateFromAssetStream(JNIEnv *_env, jobject _this, RsContext con, jint dstFmt, jboolean genMips, jint native_asset) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); - Asset* asset = reinterpret_cast<Asset*>(native_asset); SkBitmap bitmap; SkImageDecoder::DecodeMemory(asset->getBuffer(false), asset->getLength(), @@ -627,9 +594,8 @@ nAllocationCreateFromAssetStream(JNIEnv *_env, jobject _this, jint dstFmt, jbool } static int -nAllocationCreateFromBitmapBoxed(JNIEnv *_env, jobject _this, jint dstFmt, jboolean genMips, jobject jbitmap) +nAllocationCreateFromBitmapBoxed(JNIEnv *_env, jobject _this, RsContext con, jint dstFmt, jboolean genMips, jobject jbitmap) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); SkBitmap const * nativeBitmap = (SkBitmap const *)_env->GetIntField(jbitmap, gNativeBitmapID); const SkBitmap& bitmap(*nativeBitmap); @@ -651,9 +617,8 @@ nAllocationCreateFromBitmapBoxed(JNIEnv *_env, jobject _this, jint dstFmt, jbool static void -nAllocationSubData1D_i(JNIEnv *_env, jobject _this, jint alloc, jint offset, jint count, jintArray data, int sizeBytes) +nAllocationSubData1D_i(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jint offset, jint count, jintArray data, int sizeBytes) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); jint len = _env->GetArrayLength(data); LOG_API("nAllocation1DSubData_i, con(%p), adapter(%p), offset(%i), count(%i), len(%i), sizeBytes(%i)", con, (RsAllocation)alloc, offset, count, len, sizeBytes); jint *ptr = _env->GetIntArrayElements(data, NULL); @@ -662,9 +627,8 @@ nAllocationSubData1D_i(JNIEnv *_env, jobject _this, jint alloc, jint offset, jin } static void -nAllocationSubData1D_s(JNIEnv *_env, jobject _this, jint alloc, jint offset, jint count, jshortArray data, int sizeBytes) +nAllocationSubData1D_s(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jint offset, jint count, jshortArray data, int sizeBytes) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); jint len = _env->GetArrayLength(data); LOG_API("nAllocation1DSubData_s, con(%p), adapter(%p), offset(%i), count(%i), len(%i), sizeBytes(%i)", con, (RsAllocation)alloc, offset, count, len, sizeBytes); jshort *ptr = _env->GetShortArrayElements(data, NULL); @@ -673,9 +637,8 @@ nAllocationSubData1D_s(JNIEnv *_env, jobject _this, jint alloc, jint offset, jin } static void -nAllocationSubData1D_b(JNIEnv *_env, jobject _this, jint alloc, jint offset, jint count, jbyteArray data, int sizeBytes) +nAllocationSubData1D_b(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jint offset, jint count, jbyteArray data, int sizeBytes) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); jint len = _env->GetArrayLength(data); LOG_API("nAllocation1DSubData_b, con(%p), adapter(%p), offset(%i), count(%i), len(%i), sizeBytes(%i)", con, (RsAllocation)alloc, offset, count, len, sizeBytes); jbyte *ptr = _env->GetByteArrayElements(data, NULL); @@ -684,9 +647,8 @@ nAllocationSubData1D_b(JNIEnv *_env, jobject _this, jint alloc, jint offset, jin } static void -nAllocationSubData1D_f(JNIEnv *_env, jobject _this, jint alloc, jint offset, jint count, jfloatArray data, int sizeBytes) +nAllocationSubData1D_f(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jint offset, jint count, jfloatArray data, int sizeBytes) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); jint len = _env->GetArrayLength(data); LOG_API("nAllocation1DSubData_f, con(%p), adapter(%p), offset(%i), count(%i), len(%i), sizeBytes(%i)", con, (RsAllocation)alloc, offset, count, len, sizeBytes); jfloat *ptr = _env->GetFloatArrayElements(data, NULL); @@ -695,9 +657,8 @@ nAllocationSubData1D_f(JNIEnv *_env, jobject _this, jint alloc, jint offset, jin } static void -nAllocationSubData2D_i(JNIEnv *_env, jobject _this, jint alloc, jint xoff, jint yoff, jint w, jint h, jintArray data, int sizeBytes) +nAllocationSubData2D_i(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jint xoff, jint yoff, jint w, jint h, jintArray data, int sizeBytes) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); jint len = _env->GetArrayLength(data); LOG_API("nAllocation2DSubData_i, con(%p), adapter(%p), xoff(%i), yoff(%i), w(%i), h(%i), len(%i)", con, (RsAllocation)alloc, xoff, yoff, w, h, len); jint *ptr = _env->GetIntArrayElements(data, NULL); @@ -706,9 +667,8 @@ nAllocationSubData2D_i(JNIEnv *_env, jobject _this, jint alloc, jint xoff, jint } static void -nAllocationSubData2D_f(JNIEnv *_env, jobject _this, jint alloc, jint xoff, jint yoff, jint w, jint h, jfloatArray data, int sizeBytes) +nAllocationSubData2D_f(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jint xoff, jint yoff, jint w, jint h, jfloatArray data, int sizeBytes) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); jint len = _env->GetArrayLength(data); LOG_API("nAllocation2DSubData_i, con(%p), adapter(%p), xoff(%i), yoff(%i), w(%i), h(%i), len(%i)", con, (RsAllocation)alloc, xoff, yoff, w, h, len); jfloat *ptr = _env->GetFloatArrayElements(data, NULL); @@ -717,9 +677,8 @@ nAllocationSubData2D_f(JNIEnv *_env, jobject _this, jint alloc, jint xoff, jint } static void -nAllocationRead_i(JNIEnv *_env, jobject _this, jint alloc, jintArray data) +nAllocationRead_i(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jintArray data) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); jint len = _env->GetArrayLength(data); LOG_API("nAllocationRead_i, con(%p), alloc(%p), len(%i)", con, (RsAllocation)alloc, len); jint *ptr = _env->GetIntArrayElements(data, NULL); @@ -728,9 +687,8 @@ nAllocationRead_i(JNIEnv *_env, jobject _this, jint alloc, jintArray data) } static void -nAllocationRead_f(JNIEnv *_env, jobject _this, jint alloc, jfloatArray data) +nAllocationRead_f(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jfloatArray data) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); jint len = _env->GetArrayLength(data); LOG_API("nAllocationRead_f, con(%p), alloc(%p), len(%i)", con, (RsAllocation)alloc, len); jfloat *ptr = _env->GetFloatArrayElements(data, NULL); @@ -741,9 +699,8 @@ nAllocationRead_f(JNIEnv *_env, jobject _this, jint alloc, jfloatArray data) //{"nAllocationDataFromObject", "(ILandroid/renderscript/Type;Ljava/lang/Object;)V", (void*)nAllocationDataFromObject }, static void -nAllocationSubDataFromObject(JNIEnv *_env, jobject _this, jint alloc, jobject _type, jint offset, jobject _o) +nAllocationSubDataFromObject(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jobject _type, jint offset, jobject _o) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nAllocationDataFromObject con(%p), alloc(%p)", con, (RsAllocation)alloc); const TypeCache *tc = (TypeCache *)_env->GetIntField(_type, gTypeNativeCache); @@ -759,9 +716,8 @@ nAllocationSubDataFromObject(JNIEnv *_env, jobject _this, jint alloc, jobject _t } static void -nAllocationSubReadFromObject(JNIEnv *_env, jobject _this, jint alloc, jobject _type, jint offset, jobject _o) +nAllocationSubReadFromObject(JNIEnv *_env, jobject _this, RsContext con, jint alloc, jobject _type, jint offset, jobject _o) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nAllocationReadFromObject con(%p), alloc(%p)", con, (RsAllocation)alloc); assert(offset == 0); @@ -780,9 +736,8 @@ nAllocationSubReadFromObject(JNIEnv *_env, jobject _this, jint alloc, jobject _t } static jint -nAllocationGetType(JNIEnv *_env, jobject _this, jint a) +nAllocationGetType(JNIEnv *_env, jobject _this, RsContext con, jint a) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nAllocationGetType, con(%p), a(%p)", con, (RsAllocation)a); return (jint) rsAllocationGetType(con, (RsAllocation)a); } @@ -790,10 +745,9 @@ nAllocationGetType(JNIEnv *_env, jobject _this, jint a) // ----------------------------------- static int -nFileA3DCreateFromAssetStream(JNIEnv *_env, jobject _this, jint native_asset) +nFileA3DCreateFromAssetStream(JNIEnv *_env, jobject _this, RsContext con, jint native_asset) { LOGV("______nFileA3D %u", (uint32_t) native_asset); - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); Asset* asset = reinterpret_cast<Asset*>(native_asset); @@ -802,21 +756,17 @@ nFileA3DCreateFromAssetStream(JNIEnv *_env, jobject _this, jint native_asset) } static int -nFileA3DGetNumIndexEntries(JNIEnv *_env, jobject _this, jint fileA3D) +nFileA3DGetNumIndexEntries(JNIEnv *_env, jobject _this, RsContext con, jint fileA3D) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); - int32_t numEntries = 0; rsFileA3DGetNumIndexEntries(con, &numEntries, (RsFile)fileA3D); return numEntries; } static void -nFileA3DGetIndexEntries(JNIEnv *_env, jobject _this, jint fileA3D, jint numEntries, jintArray _ids, jobjectArray _entries) +nFileA3DGetIndexEntries(JNIEnv *_env, jobject _this, RsContext con, jint fileA3D, jint numEntries, jintArray _ids, jobjectArray _entries) { LOGV("______nFileA3D %u", (uint32_t) fileA3D); - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); - RsFileIndexEntry *fileEntries = (RsFileIndexEntry*)malloc((uint32_t)numEntries * sizeof(RsFileIndexEntry)); rsFileA3DGetIndexEntries(con, fileEntries, (uint32_t)numEntries, (RsFile)fileA3D); @@ -830,11 +780,9 @@ nFileA3DGetIndexEntries(JNIEnv *_env, jobject _this, jint fileA3D, jint numEntri } static int -nFileA3DGetEntryByIndex(JNIEnv *_env, jobject _this, jint fileA3D, jint index) +nFileA3DGetEntryByIndex(JNIEnv *_env, jobject _this, RsContext con, jint fileA3D, jint index) { LOGV("______nFileA3D %u", (uint32_t) fileA3D); - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); - jint id = (jint)rsFileA3DGetEntryByIndex(con, (uint32_t)index, (RsFile)fileA3D); return id; } @@ -842,9 +790,8 @@ nFileA3DGetEntryByIndex(JNIEnv *_env, jobject _this, jint fileA3D, jint index) // ----------------------------------- static int -nFontCreateFromFile(JNIEnv *_env, jobject _this, jstring fileName, jint fontSize, jint dpi) +nFontCreateFromFile(JNIEnv *_env, jobject _this, RsContext con, jstring fileName, jint fontSize, jint dpi) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); const char* fileNameUTF = _env->GetStringUTFChars(fileName, NULL); jint id = (jint)rsFontCreateFromFile(con, fileNameUTF, fontSize, dpi); @@ -855,25 +802,22 @@ nFontCreateFromFile(JNIEnv *_env, jobject _this, jstring fileName, jint fontSize // ----------------------------------- static void -nAdapter1DBindAllocation(JNIEnv *_env, jobject _this, jint adapter, jint alloc) +nAdapter1DBindAllocation(JNIEnv *_env, jobject _this, RsContext con, jint adapter, jint alloc) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nAdapter1DBindAllocation, con(%p), adapter(%p), alloc(%p)", con, (RsAdapter1D)adapter, (RsAllocation)alloc); rsAdapter1DBindAllocation(con, (RsAdapter1D)adapter, (RsAllocation)alloc); } static void -nAdapter1DSetConstraint(JNIEnv *_env, jobject _this, jint adapter, jint dim, jint value) +nAdapter1DSetConstraint(JNIEnv *_env, jobject _this, RsContext con, jint adapter, jint dim, jint value) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nAdapter1DSetConstraint, con(%p), adapter(%p), dim(%i), value(%i)", con, (RsAdapter1D)adapter, dim, value); rsAdapter1DSetConstraint(con, (RsAdapter1D)adapter, (RsDimension)dim, value); } static void -nAdapter1DData_i(JNIEnv *_env, jobject _this, jint adapter, jintArray data) +nAdapter1DData_i(JNIEnv *_env, jobject _this, RsContext con, jint adapter, jintArray data) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); jint len = _env->GetArrayLength(data); LOG_API("nAdapter1DData_i, con(%p), adapter(%p), len(%i)", con, (RsAdapter1D)adapter, len); jint *ptr = _env->GetIntArrayElements(data, NULL); @@ -882,9 +826,8 @@ nAdapter1DData_i(JNIEnv *_env, jobject _this, jint adapter, jintArray data) } static void -nAdapter1DSubData_i(JNIEnv *_env, jobject _this, jint adapter, jint offset, jint count, jintArray data) +nAdapter1DSubData_i(JNIEnv *_env, jobject _this, RsContext con, jint adapter, jint offset, jint count, jintArray data) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); jint len = _env->GetArrayLength(data); LOG_API("nAdapter1DSubData_i, con(%p), adapter(%p), offset(%i), count(%i), len(%i)", con, (RsAdapter1D)adapter, offset, count, len); jint *ptr = _env->GetIntArrayElements(data, NULL); @@ -893,9 +836,8 @@ nAdapter1DSubData_i(JNIEnv *_env, jobject _this, jint adapter, jint offset, jint } static void -nAdapter1DData_f(JNIEnv *_env, jobject _this, jint adapter, jfloatArray data) +nAdapter1DData_f(JNIEnv *_env, jobject _this, RsContext con, jint adapter, jfloatArray data) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); jint len = _env->GetArrayLength(data); LOG_API("nAdapter1DData_f, con(%p), adapter(%p), len(%i)", con, (RsAdapter1D)adapter, len); jfloat *ptr = _env->GetFloatArrayElements(data, NULL); @@ -904,9 +846,8 @@ nAdapter1DData_f(JNIEnv *_env, jobject _this, jint adapter, jfloatArray data) } static void -nAdapter1DSubData_f(JNIEnv *_env, jobject _this, jint adapter, jint offset, jint count, jfloatArray data) +nAdapter1DSubData_f(JNIEnv *_env, jobject _this, RsContext con, jint adapter, jint offset, jint count, jfloatArray data) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); jint len = _env->GetArrayLength(data); LOG_API("nAdapter1DSubData_f, con(%p), adapter(%p), offset(%i), count(%i), len(%i)", con, (RsAdapter1D)adapter, offset, count, len); jfloat *ptr = _env->GetFloatArrayElements(data, NULL); @@ -915,9 +856,8 @@ nAdapter1DSubData_f(JNIEnv *_env, jobject _this, jint adapter, jint offset, jint } static jint -nAdapter1DCreate(JNIEnv *_env, jobject _this) +nAdapter1DCreate(JNIEnv *_env, jobject _this, RsContext con) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nAdapter1DCreate, con(%p)", con); return (jint)rsAdapter1DCreate(con); } @@ -925,25 +865,22 @@ nAdapter1DCreate(JNIEnv *_env, jobject _this) // ----------------------------------- static void -nAdapter2DBindAllocation(JNIEnv *_env, jobject _this, jint adapter, jint alloc) +nAdapter2DBindAllocation(JNIEnv *_env, jobject _this, RsContext con, jint adapter, jint alloc) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nAdapter2DBindAllocation, con(%p), adapter(%p), alloc(%p)", con, (RsAdapter2D)adapter, (RsAllocation)alloc); rsAdapter2DBindAllocation(con, (RsAdapter2D)adapter, (RsAllocation)alloc); } static void -nAdapter2DSetConstraint(JNIEnv *_env, jobject _this, jint adapter, jint dim, jint value) +nAdapter2DSetConstraint(JNIEnv *_env, jobject _this, RsContext con, jint adapter, jint dim, jint value) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nAdapter2DSetConstraint, con(%p), adapter(%p), dim(%i), value(%i)", con, (RsAdapter2D)adapter, dim, value); rsAdapter2DSetConstraint(con, (RsAdapter2D)adapter, (RsDimension)dim, value); } static void -nAdapter2DData_i(JNIEnv *_env, jobject _this, jint adapter, jintArray data) +nAdapter2DData_i(JNIEnv *_env, jobject _this, RsContext con, jint adapter, jintArray data) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); jint len = _env->GetArrayLength(data); LOG_API("nAdapter2DData_i, con(%p), adapter(%p), len(%i)", con, (RsAdapter2D)adapter, len); jint *ptr = _env->GetIntArrayElements(data, NULL); @@ -952,9 +889,8 @@ nAdapter2DData_i(JNIEnv *_env, jobject _this, jint adapter, jintArray data) } static void -nAdapter2DData_f(JNIEnv *_env, jobject _this, jint adapter, jfloatArray data) +nAdapter2DData_f(JNIEnv *_env, jobject _this, RsContext con, jint adapter, jfloatArray data) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); jint len = _env->GetArrayLength(data); LOG_API("nAdapter2DData_f, con(%p), adapter(%p), len(%i)", con, (RsAdapter2D)adapter, len); jfloat *ptr = _env->GetFloatArrayElements(data, NULL); @@ -963,9 +899,8 @@ nAdapter2DData_f(JNIEnv *_env, jobject _this, jint adapter, jfloatArray data) } static void -nAdapter2DSubData_i(JNIEnv *_env, jobject _this, jint adapter, jint xoff, jint yoff, jint w, jint h, jintArray data) +nAdapter2DSubData_i(JNIEnv *_env, jobject _this, RsContext con, jint adapter, jint xoff, jint yoff, jint w, jint h, jintArray data) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); jint len = _env->GetArrayLength(data); LOG_API("nAdapter2DSubData_i, con(%p), adapter(%p), xoff(%i), yoff(%i), w(%i), h(%i), len(%i)", con, (RsAdapter2D)adapter, xoff, yoff, w, h, len); @@ -975,9 +910,8 @@ nAdapter2DSubData_i(JNIEnv *_env, jobject _this, jint adapter, jint xoff, jint y } static void -nAdapter2DSubData_f(JNIEnv *_env, jobject _this, jint adapter, jint xoff, jint yoff, jint w, jint h, jfloatArray data) +nAdapter2DSubData_f(JNIEnv *_env, jobject _this, RsContext con, jint adapter, jint xoff, jint yoff, jint w, jint h, jfloatArray data) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); jint len = _env->GetArrayLength(data); LOG_API("nAdapter2DSubData_f, con(%p), adapter(%p), xoff(%i), yoff(%i), w(%i), h(%i), len(%i)", con, (RsAdapter2D)adapter, xoff, yoff, w, h, len); @@ -987,9 +921,8 @@ nAdapter2DSubData_f(JNIEnv *_env, jobject _this, jint adapter, jint xoff, jint y } static jint -nAdapter2DCreate(JNIEnv *_env, jobject _this) +nAdapter2DCreate(JNIEnv *_env, jobject _this, RsContext con) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nAdapter2DCreate, con(%p)", con); return (jint)rsAdapter2DCreate(con); } @@ -997,33 +930,29 @@ nAdapter2DCreate(JNIEnv *_env, jobject _this) // ----------------------------------- static void -nScriptBindAllocation(JNIEnv *_env, jobject _this, jint script, jint alloc, jint slot) +nScriptBindAllocation(JNIEnv *_env, jobject _this, RsContext con, jint script, jint alloc, jint slot) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nScriptBindAllocation, con(%p), script(%p), alloc(%p), slot(%i)", con, (RsScript)script, (RsAllocation)alloc, slot); rsScriptBindAllocation(con, (RsScript)script, (RsAllocation)alloc, slot); } static void -nScriptSetVarI(JNIEnv *_env, jobject _this, jint script, jint slot, jint val) +nScriptSetVarI(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot, jint val) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nScriptSetVarI, con(%p), s(%p), slot(%i), val(%i), b(%f), a(%f)", con, (void *)script, slot, val); rsScriptSetVarI(con, (RsScript)script, slot, val); } static void -nScriptSetVarF(JNIEnv *_env, jobject _this, jint script, jint slot, float val) +nScriptSetVarF(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot, float val) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nScriptSetVarI, con(%p), s(%p), slot(%i), val(%i), b(%f), a(%f)", con, (void *)script, slot, val); rsScriptSetVarF(con, (RsScript)script, slot, val); } static void -nScriptSetVarV(JNIEnv *_env, jobject _this, jint script, jint slot, jbyteArray data) +nScriptSetVarV(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot, jbyteArray data) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nScriptSetVarV, con(%p), s(%p), slot(%i)", con, (void *)script, slot); jint len = _env->GetArrayLength(data); jbyte *ptr = _env->GetByteArrayElements(data, NULL); @@ -1033,9 +962,8 @@ nScriptSetVarV(JNIEnv *_env, jobject _this, jint script, jint slot, jbyteArray d static void -nScriptSetTimeZone(JNIEnv *_env, jobject _this, jint script, jbyteArray timeZone) +nScriptSetTimeZone(JNIEnv *_env, jobject _this, RsContext con, jint script, jbyteArray timeZone) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nScriptCSetTimeZone, con(%p), s(%p), timeZone(%s)", con, (void *)script, (const char *)timeZone); jint length = _env->GetArrayLength(timeZone); @@ -1050,17 +978,15 @@ nScriptSetTimeZone(JNIEnv *_env, jobject _this, jint script, jbyteArray timeZone } static void -nScriptInvoke(JNIEnv *_env, jobject _this, jint obj, jint slot) +nScriptInvoke(JNIEnv *_env, jobject _this, RsContext con, jint obj, jint slot) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nScriptInvoke, con(%p), script(%p)", con, (void *)obj); rsScriptInvoke(con, (RsScript)obj, slot); } static void -nScriptInvokeV(JNIEnv *_env, jobject _this, jint script, jint slot, jbyteArray data) +nScriptInvokeV(JNIEnv *_env, jobject _this, RsContext con, jint script, jint slot, jbyteArray data) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nScriptInvokeV, con(%p), s(%p), slot(%i)", con, (void *)script, slot); jint len = _env->GetArrayLength(data); jbyte *ptr = _env->GetByteArrayElements(data, NULL); @@ -1072,18 +998,16 @@ nScriptInvokeV(JNIEnv *_env, jobject _this, jint script, jint slot, jbyteArray d // ----------------------------------- static void -nScriptCBegin(JNIEnv *_env, jobject _this) +nScriptCBegin(JNIEnv *_env, jobject _this, RsContext con) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nScriptCBegin, con(%p)", con); rsScriptCBegin(con); } static void -nScriptCSetScript(JNIEnv *_env, jobject _this, jbyteArray scriptRef, +nScriptCSetScript(JNIEnv *_env, jobject _this, RsContext con, jbyteArray scriptRef, jint offset, jint length) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("!!! nScriptCSetScript, con(%p)", con); jint _exception = 0; jint remaining; @@ -1124,9 +1048,8 @@ exit: } static jint -nScriptCCreate(JNIEnv *_env, jobject _this) +nScriptCCreate(JNIEnv *_env, jobject _this, RsContext con) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nScriptCCreate, con(%p)", con); return (jint)rsScriptCCreate(con); } @@ -1134,84 +1057,73 @@ nScriptCCreate(JNIEnv *_env, jobject _this) // --------------------------------------------------------------------------- static void -nProgramStoreBegin(JNIEnv *_env, jobject _this, jint in, jint out) +nProgramStoreBegin(JNIEnv *_env, jobject _this, RsContext con, jint in, jint out) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nProgramStoreBegin, con(%p), in(%p), out(%p)", con, (RsElement)in, (RsElement)out); rsProgramStoreBegin(con, (RsElement)in, (RsElement)out); } static void -nProgramStoreDepthFunc(JNIEnv *_env, jobject _this, jint func) +nProgramStoreDepthFunc(JNIEnv *_env, jobject _this, RsContext con, jint func) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nProgramStoreDepthFunc, con(%p), func(%i)", con, func); rsProgramStoreDepthFunc(con, (RsDepthFunc)func); } static void -nProgramStoreDepthMask(JNIEnv *_env, jobject _this, jboolean enable) +nProgramStoreDepthMask(JNIEnv *_env, jobject _this, RsContext con, jboolean enable) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nProgramStoreDepthMask, con(%p), enable(%i)", con, enable); rsProgramStoreDepthMask(con, enable); } static void -nProgramStoreColorMask(JNIEnv *_env, jobject _this, jboolean r, jboolean g, jboolean b, jboolean a) +nProgramStoreColorMask(JNIEnv *_env, jobject _this, RsContext con, jboolean r, jboolean g, jboolean b, jboolean a) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nProgramStoreColorMask, con(%p), r(%i), g(%i), b(%i), a(%i)", con, r, g, b, a); rsProgramStoreColorMask(con, r, g, b, a); } static void -nProgramStoreBlendFunc(JNIEnv *_env, jobject _this, int src, int dst) +nProgramStoreBlendFunc(JNIEnv *_env, jobject _this, RsContext con, int src, int dst) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nProgramStoreBlendFunc, con(%p), src(%i), dst(%i)", con, src, dst); rsProgramStoreBlendFunc(con, (RsBlendSrcFunc)src, (RsBlendDstFunc)dst); } static void -nProgramStoreDither(JNIEnv *_env, jobject _this, jboolean enable) +nProgramStoreDither(JNIEnv *_env, jobject _this, RsContext con, jboolean enable) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nProgramStoreDither, con(%p), enable(%i)", con, enable); rsProgramStoreDither(con, enable); } static jint -nProgramStoreCreate(JNIEnv *_env, jobject _this) +nProgramStoreCreate(JNIEnv *_env, jobject _this, RsContext con) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nProgramStoreCreate, con(%p)", con); - return (jint)rsProgramStoreCreate(con); } // --------------------------------------------------------------------------- static void -nProgramBindConstants(JNIEnv *_env, jobject _this, jint vpv, jint slot, jint a) +nProgramBindConstants(JNIEnv *_env, jobject _this, RsContext con, jint vpv, jint slot, jint a) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nProgramBindConstants, con(%p), vpf(%p), sloat(%i), a(%p)", con, (RsProgramVertex)vpv, slot, (RsAllocation)a); rsProgramBindConstants(con, (RsProgram)vpv, slot, (RsAllocation)a); } static void -nProgramBindTexture(JNIEnv *_env, jobject _this, jint vpf, jint slot, jint a) +nProgramBindTexture(JNIEnv *_env, jobject _this, RsContext con, jint vpf, jint slot, jint a) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nProgramBindTexture, con(%p), vpf(%p), slot(%i), a(%p)", con, (RsProgramFragment)vpf, slot, (RsAllocation)a); rsProgramBindTexture(con, (RsProgramFragment)vpf, slot, (RsAllocation)a); } static void -nProgramBindSampler(JNIEnv *_env, jobject _this, jint vpf, jint slot, jint a) +nProgramBindSampler(JNIEnv *_env, jobject _this, RsContext con, jint vpf, jint slot, jint a) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nProgramBindSampler, con(%p), vpf(%p), slot(%i), a(%p)", con, (RsProgramFragment)vpf, slot, (RsSampler)a); rsProgramBindSampler(con, (RsProgramFragment)vpf, slot, (RsSampler)a); } @@ -1219,9 +1131,8 @@ nProgramBindSampler(JNIEnv *_env, jobject _this, jint vpf, jint slot, jint a) // --------------------------------------------------------------------------- static jint -nProgramFragmentCreate(JNIEnv *_env, jobject _this, jintArray params) +nProgramFragmentCreate(JNIEnv *_env, jobject _this, RsContext con, jintArray params) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); jint *paramPtr = _env->GetIntArrayElements(params, NULL); jint paramLen = _env->GetArrayLength(params); @@ -1233,9 +1144,8 @@ nProgramFragmentCreate(JNIEnv *_env, jobject _this, jintArray params) } static jint -nProgramFragmentCreate2(JNIEnv *_env, jobject _this, jstring shader, jintArray params) +nProgramFragmentCreate2(JNIEnv *_env, jobject _this, RsContext con, jstring shader, jintArray params) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); const char* shaderUTF = _env->GetStringUTFChars(shader, NULL); jint shaderLen = _env->GetStringUTFLength(shader); jint *paramPtr = _env->GetIntArrayElements(params, NULL); @@ -1253,17 +1163,15 @@ nProgramFragmentCreate2(JNIEnv *_env, jobject _this, jstring shader, jintArray p // --------------------------------------------------------------------------- static jint -nProgramVertexCreate(JNIEnv *_env, jobject _this, jboolean texMat) +nProgramVertexCreate(JNIEnv *_env, jobject _this, RsContext con, jboolean texMat) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nProgramVertexCreate, con(%p), texMat(%i)", con, texMat); return (jint)rsProgramVertexCreate(con, texMat); } static jint -nProgramVertexCreate2(JNIEnv *_env, jobject _this, jstring shader, jintArray params) +nProgramVertexCreate2(JNIEnv *_env, jobject _this, RsContext con, jstring shader, jintArray params) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); const char* shaderUTF = _env->GetStringUTFChars(shader, NULL); jint shaderLen = _env->GetStringUTFLength(shader); jint *paramPtr = _env->GetIntArrayElements(params, NULL); @@ -1280,26 +1188,23 @@ nProgramVertexCreate2(JNIEnv *_env, jobject _this, jstring shader, jintArray par // --------------------------------------------------------------------------- static jint -nProgramRasterCreate(JNIEnv *_env, jobject _this, jboolean pointSmooth, jboolean lineSmooth, jboolean pointSprite) +nProgramRasterCreate(JNIEnv *_env, jobject _this, RsContext con, jboolean pointSmooth, jboolean lineSmooth, jboolean pointSprite) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nProgramRasterCreate, con(%p), pointSmooth(%i), lineSmooth(%i), pointSprite(%i)", con, pointSmooth, lineSmooth, pointSprite); return (jint)rsProgramRasterCreate(con, pointSmooth, lineSmooth, pointSprite); } static void -nProgramRasterSetLineWidth(JNIEnv *_env, jobject _this, jint vpr, jfloat v) +nProgramRasterSetLineWidth(JNIEnv *_env, jobject _this, RsContext con, jint vpr, jfloat v) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nProgramRasterSetLineWidth, con(%p), vpf(%p), value(%f)", con, (RsProgramRaster)vpr, v); rsProgramRasterSetLineWidth(con, (RsProgramRaster)vpr, v); } static void -nProgramRasterSetCullMode(JNIEnv *_env, jobject _this, jint vpr, jint v) +nProgramRasterSetCullMode(JNIEnv *_env, jobject _this, RsContext con, jint vpr, jint v) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nProgramRasterSetCullMode, con(%p), vpf(%p), value(%i)", con, (RsProgramRaster)vpr, v); rsProgramRasterSetCullMode(con, (RsProgramRaster)vpr, (RsCullMode)v); } @@ -1308,41 +1213,36 @@ nProgramRasterSetCullMode(JNIEnv *_env, jobject _this, jint vpr, jint v) // --------------------------------------------------------------------------- static void -nContextBindRootScript(JNIEnv *_env, jobject _this, jint script) +nContextBindRootScript(JNIEnv *_env, jobject _this, RsContext con, jint script) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nContextBindRootScript, con(%p), script(%p)", con, (RsScript)script); rsContextBindRootScript(con, (RsScript)script); } static void -nContextBindProgramStore(JNIEnv *_env, jobject _this, jint pfs) +nContextBindProgramStore(JNIEnv *_env, jobject _this, RsContext con, jint pfs) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nContextBindProgramStore, con(%p), pfs(%p)", con, (RsProgramStore)pfs); rsContextBindProgramStore(con, (RsProgramStore)pfs); } static void -nContextBindProgramFragment(JNIEnv *_env, jobject _this, jint pf) +nContextBindProgramFragment(JNIEnv *_env, jobject _this, RsContext con, jint pf) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nContextBindProgramFragment, con(%p), pf(%p)", con, (RsProgramFragment)pf); rsContextBindProgramFragment(con, (RsProgramFragment)pf); } static void -nContextBindProgramVertex(JNIEnv *_env, jobject _this, jint pf) +nContextBindProgramVertex(JNIEnv *_env, jobject _this, RsContext con, jint pf) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nContextBindProgramVertex, con(%p), pf(%p)", con, (RsProgramVertex)pf); rsContextBindProgramVertex(con, (RsProgramVertex)pf); } static void -nContextBindProgramRaster(JNIEnv *_env, jobject _this, jint pf) +nContextBindProgramRaster(JNIEnv *_env, jobject _this, RsContext con, jint pf) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nContextBindProgramRaster, con(%p), pf(%p)", con, (RsProgramRaster)pf); rsContextBindProgramRaster(con, (RsProgramRaster)pf); } @@ -1351,110 +1251,53 @@ nContextBindProgramRaster(JNIEnv *_env, jobject _this, jint pf) // --------------------------------------------------------------------------- static void -nSamplerBegin(JNIEnv *_env, jobject _this) +nSamplerBegin(JNIEnv *_env, jobject _this, RsContext con) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nSamplerBegin, con(%p)", con); rsSamplerBegin(con); } static void -nSamplerSet(JNIEnv *_env, jobject _this, jint p, jint v) +nSamplerSet(JNIEnv *_env, jobject _this, RsContext con, jint p, jint v) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nSamplerSet, con(%p), param(%i), value(%i)", con, p, v); rsSamplerSet(con, (RsSamplerParam)p, (RsSamplerValue)v); } static jint -nSamplerCreate(JNIEnv *_env, jobject _this) +nSamplerCreate(JNIEnv *_env, jobject _this, RsContext con) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nSamplerCreate, con(%p)", con); return (jint)rsSamplerCreate(con); } // --------------------------------------------------------------------------- -static void -nLightBegin(JNIEnv *_env, jobject _this) -{ - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); - LOG_API("nLightBegin, con(%p)", con); - rsLightBegin(con); -} - -static void -nLightSetIsMono(JNIEnv *_env, jobject _this, jboolean isMono) -{ - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); - LOG_API("nLightSetIsMono, con(%p), isMono(%i)", con, isMono); - rsLightSetMonochromatic(con, isMono); -} - -static void -nLightSetIsLocal(JNIEnv *_env, jobject _this, jboolean isLocal) -{ - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); - LOG_API("nLightSetIsLocal, con(%p), isLocal(%i)", con, isLocal); - rsLightSetLocal(con, isLocal); -} - -static jint -nLightCreate(JNIEnv *_env, jobject _this) -{ - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); - LOG_API("nLightCreate, con(%p)", con); - return (jint)rsLightCreate(con); -} - -static void -nLightSetColor(JNIEnv *_env, jobject _this, jint light, float r, float g, float b) -{ - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); - LOG_API("nLightSetColor, con(%p), light(%p), r(%f), g(%f), b(%f)", con, (RsLight)light, r, g, b); - rsLightSetColor(con, (RsLight)light, r, g, b); -} - -static void -nLightSetPosition(JNIEnv *_env, jobject _this, jint light, float x, float y, float z) -{ - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); - LOG_API("nLightSetPosition, con(%p), light(%p), x(%f), y(%f), z(%f)", con, (RsLight)light, x, y, z); - rsLightSetPosition(con, (RsLight)light, x, y, z); -} - -// --------------------------------------------------------------------------- - static jint -nMeshCreate(JNIEnv *_env, jobject _this, jint vtxCount, jint idxCount) +nMeshCreate(JNIEnv *_env, jobject _this, RsContext con, jint vtxCount, jint idxCount) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nMeshCreate, con(%p), vtxCount(%i), idxCount(%i)", con, vtxCount, idxCount); int id = (int)rsMeshCreate(con, vtxCount, idxCount); return id; } static void -nMeshBindVertex(JNIEnv *_env, jobject _this, jint mesh, jint alloc, jint slot) +nMeshBindVertex(JNIEnv *_env, jobject _this, RsContext con, jint mesh, jint alloc, jint slot) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nMeshBindVertex, con(%p), Mesh(%p), Alloc(%p), slot(%i)", con, (RsMesh)mesh, (RsAllocation)alloc, slot); rsMeshBindVertex(con, (RsMesh)mesh, (RsAllocation)alloc, slot); } static void -nMeshBindIndex(JNIEnv *_env, jobject _this, jint mesh, jint alloc, jint primID, jint slot) +nMeshBindIndex(JNIEnv *_env, jobject _this, RsContext con, jint mesh, jint alloc, jint primID, jint slot) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nMeshBindIndex, con(%p), Mesh(%p), Alloc(%p)", con, (RsMesh)mesh, (RsAllocation)alloc); rsMeshBindIndex(con, (RsMesh)mesh, (RsAllocation)alloc, primID, slot); } static jint -nMeshGetVertexBufferCount(JNIEnv *_env, jobject _this, jint mesh) +nMeshGetVertexBufferCount(JNIEnv *_env, jobject _this, RsContext con, jint mesh) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nMeshGetVertexBufferCount, con(%p), Mesh(%p)", con, (RsMesh)mesh); jint vtxCount = 0; rsMeshGetVertexBufferCount(con, (RsMesh)mesh, &vtxCount); @@ -1462,9 +1305,8 @@ nMeshGetVertexBufferCount(JNIEnv *_env, jobject _this, jint mesh) } static jint -nMeshGetIndexCount(JNIEnv *_env, jobject _this, jint mesh) +nMeshGetIndexCount(JNIEnv *_env, jobject _this, RsContext con, jint mesh) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nMeshGetIndexCount, con(%p), Mesh(%p)", con, (RsMesh)mesh); jint idxCount = 0; rsMeshGetIndexCount(con, (RsMesh)mesh, &idxCount); @@ -1472,9 +1314,8 @@ nMeshGetIndexCount(JNIEnv *_env, jobject _this, jint mesh) } static void -nMeshGetVertices(JNIEnv *_env, jobject _this, jint mesh, jintArray _ids, int numVtxIDs) +nMeshGetVertices(JNIEnv *_env, jobject _this, RsContext con, jint mesh, jintArray _ids, int numVtxIDs) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nMeshGetVertices, con(%p), Mesh(%p)", con, (RsMesh)mesh); RsAllocation *allocs = (RsAllocation*)malloc((uint32_t)numVtxIDs * sizeof(RsAllocation)); @@ -1488,9 +1329,8 @@ nMeshGetVertices(JNIEnv *_env, jobject _this, jint mesh, jintArray _ids, int num } static void -nMeshGetIndices(JNIEnv *_env, jobject _this, jint mesh, jintArray _idxIds, jintArray _primitives, int numIndices) +nMeshGetIndices(JNIEnv *_env, jobject _this, RsContext con, jint mesh, jintArray _idxIds, jintArray _primitives, int numIndices) { - RsContext con = (RsContext)(_env->GetIntField(_this, gContextId)); LOG_API("nMeshGetVertices, con(%p), Mesh(%p)", con, (RsMesh)mesh); RsAllocation *allocs = (RsAllocation*)malloc((uint32_t)numIndices * sizeof(RsAllocation)); @@ -1519,137 +1359,133 @@ static JNINativeMethod methods[] = { {"nDeviceCreate", "()I", (void*)nDeviceCreate }, {"nDeviceDestroy", "(I)V", (void*)nDeviceDestroy }, {"nDeviceSetConfig", "(III)V", (void*)nDeviceSetConfig }, -{"nContextCreate", "(II)I", (void*)nContextCreate }, -{"nContextCreateGL", "(IIZ)I", (void*)nContextCreateGL }, -{"nContextFinish", "()V", (void*)nContextFinish }, -{"nContextSetPriority", "(I)V", (void*)nContextSetPriority }, -{"nContextSetSurface", "(IILandroid/view/Surface;)V", (void*)nContextSetSurface }, -{"nContextDestroy", "(I)V", (void*)nContextDestroy }, -{"nContextDump", "(I)V", (void*)nContextDump }, -{"nContextPause", "()V", (void*)nContextPause }, -{"nContextResume", "()V", (void*)nContextResume }, -{"nAssignName", "(I[B)V", (void*)nAssignName }, -{"nGetName", "(I)Ljava/lang/String;", (void*)nGetName }, -{"nObjDestroy", "(I)V", (void*)nObjDestroy }, -{"nObjDestroyOOB", "(I)V", (void*)nObjDestroyOOB }, -{"nContextGetMessage", "([IZ)I", (void*)nContextGetMessage }, -{"nContextInitToClient", "()V", (void*)nContextInitToClient }, -{"nContextDeinitToClient", "()V", (void*)nContextDeinitToClient }, - -{"nFileOpen", "([B)I", (void*)nFileOpen }, -{"nFileA3DCreateFromAssetStream", "(I)I", (void*)nFileA3DCreateFromAssetStream }, -{"nFileA3DGetNumIndexEntries", "(I)I", (void*)nFileA3DGetNumIndexEntries }, -{"nFileA3DGetIndexEntries", "(II[I[Ljava/lang/String;)V", (void*)nFileA3DGetIndexEntries }, -{"nFileA3DGetEntryByIndex", "(II)I", (void*)nFileA3DGetEntryByIndex }, - -{"nFontCreateFromFile", "(Ljava/lang/String;II)I", (void*)nFontCreateFromFile }, - -{"nElementCreate", "(IIZI)I", (void*)nElementCreate }, -{"nElementCreate2", "([I[Ljava/lang/String;)I", (void*)nElementCreate2 }, -{"nElementGetNativeData", "(I[I)V", (void*)nElementGetNativeData }, -{"nElementGetSubElements", "(I[I[Ljava/lang/String;)V", (void*)nElementGetSubElements }, - -{"nTypeBegin", "(I)V", (void*)nTypeBegin }, -{"nTypeAdd", "(II)V", (void*)nTypeAdd }, -{"nTypeCreate", "()I", (void*)nTypeCreate }, -{"nTypeFinalDestroy", "(Landroid/renderscript/Type;)V", (void*)nTypeFinalDestroy }, -{"nTypeSetupFields", "(Landroid/renderscript/Type;[I[I[Ljava/lang/reflect/Field;)V", (void*)nTypeSetupFields }, -{"nTypeGetNativeData", "(I[I)V", (void*)nTypeGetNativeData }, - -{"nAllocationCreateTyped", "(I)I", (void*)nAllocationCreateTyped }, -{"nAllocationCreateFromBitmap", "(IZLandroid/graphics/Bitmap;)I", (void*)nAllocationCreateFromBitmap }, -{"nAllocationCreateBitmapRef", "(ILandroid/graphics/Bitmap;)I", (void*)nAllocationCreateBitmapRef }, -{"nAllocationCreateFromBitmapBoxed","(IZLandroid/graphics/Bitmap;)I", (void*)nAllocationCreateFromBitmapBoxed }, -{"nAllocationCreateFromAssetStream","(IZI)I", (void*)nAllocationCreateFromAssetStream }, -{"nAllocationUploadToTexture", "(IZI)V", (void*)nAllocationUploadToTexture }, -{"nAllocationUploadToBufferObject","(I)V", (void*)nAllocationUploadToBufferObject }, -{"nAllocationSubData1D", "(III[II)V", (void*)nAllocationSubData1D_i }, -{"nAllocationSubData1D", "(III[SI)V", (void*)nAllocationSubData1D_s }, -{"nAllocationSubData1D", "(III[BI)V", (void*)nAllocationSubData1D_b }, -{"nAllocationSubData1D", "(III[FI)V", (void*)nAllocationSubData1D_f }, -{"nAllocationSubData2D", "(IIIII[II)V", (void*)nAllocationSubData2D_i }, -{"nAllocationSubData2D", "(IIIII[FI)V", (void*)nAllocationSubData2D_f }, -{"nAllocationRead", "(I[I)V", (void*)nAllocationRead_i }, -{"nAllocationRead", "(I[F)V", (void*)nAllocationRead_f }, -{"nAllocationSubDataFromObject", "(ILandroid/renderscript/Type;ILjava/lang/Object;)V", (void*)nAllocationSubDataFromObject }, -{"nAllocationSubReadFromObject", "(ILandroid/renderscript/Type;ILjava/lang/Object;)V", (void*)nAllocationSubReadFromObject }, -{"nAllocationGetType", "(I)I", (void*)nAllocationGetType}, - -{"nAdapter1DBindAllocation", "(II)V", (void*)nAdapter1DBindAllocation }, -{"nAdapter1DSetConstraint", "(III)V", (void*)nAdapter1DSetConstraint }, -{"nAdapter1DData", "(I[I)V", (void*)nAdapter1DData_i }, -{"nAdapter1DData", "(I[F)V", (void*)nAdapter1DData_f }, -{"nAdapter1DSubData", "(III[I)V", (void*)nAdapter1DSubData_i }, -{"nAdapter1DSubData", "(III[F)V", (void*)nAdapter1DSubData_f }, -{"nAdapter1DCreate", "()I", (void*)nAdapter1DCreate }, - -{"nAdapter2DBindAllocation", "(II)V", (void*)nAdapter2DBindAllocation }, -{"nAdapter2DSetConstraint", "(III)V", (void*)nAdapter2DSetConstraint }, -{"nAdapter2DData", "(I[I)V", (void*)nAdapter2DData_i }, -{"nAdapter2DData", "(I[F)V", (void*)nAdapter2DData_f }, -{"nAdapter2DSubData", "(IIIII[I)V", (void*)nAdapter2DSubData_i }, -{"nAdapter2DSubData", "(IIIII[F)V", (void*)nAdapter2DSubData_f }, -{"nAdapter2DCreate", "()I", (void*)nAdapter2DCreate }, - -{"nScriptBindAllocation", "(III)V", (void*)nScriptBindAllocation }, -{"nScriptSetTimeZone", "(I[B)V", (void*)nScriptSetTimeZone }, -{"nScriptInvoke", "(II)V", (void*)nScriptInvoke }, -{"nScriptInvokeV", "(II[B)V", (void*)nScriptInvokeV }, -{"nScriptSetVarI", "(III)V", (void*)nScriptSetVarI }, -{"nScriptSetVarF", "(IIF)V", (void*)nScriptSetVarF }, -{"nScriptSetVarV", "(II[B)V", (void*)nScriptSetVarV }, - -{"nScriptCBegin", "()V", (void*)nScriptCBegin }, -{"nScriptCSetScript", "([BII)V", (void*)nScriptCSetScript }, -{"nScriptCCreate", "()I", (void*)nScriptCCreate }, - -{"nProgramStoreBegin", "(II)V", (void*)nProgramStoreBegin }, -{"nProgramStoreDepthFunc", "(I)V", (void*)nProgramStoreDepthFunc }, -{"nProgramStoreDepthMask", "(Z)V", (void*)nProgramStoreDepthMask }, -{"nProgramStoreColorMask", "(ZZZZ)V", (void*)nProgramStoreColorMask }, -{"nProgramStoreBlendFunc", "(II)V", (void*)nProgramStoreBlendFunc }, -{"nProgramStoreDither", "(Z)V", (void*)nProgramStoreDither }, -{"nProgramStoreCreate", "()I", (void*)nProgramStoreCreate }, - -{"nProgramBindConstants", "(III)V", (void*)nProgramBindConstants }, -{"nProgramBindTexture", "(III)V", (void*)nProgramBindTexture }, -{"nProgramBindSampler", "(III)V", (void*)nProgramBindSampler }, - -{"nProgramFragmentCreate", "([I)I", (void*)nProgramFragmentCreate }, -{"nProgramFragmentCreate2", "(Ljava/lang/String;[I)I", (void*)nProgramFragmentCreate2 }, - -{"nProgramRasterCreate", "(ZZZ)I", (void*)nProgramRasterCreate }, -{"nProgramRasterSetLineWidth", "(IF)V", (void*)nProgramRasterSetLineWidth }, -{"nProgramRasterSetCullMode", "(II)V", (void*)nProgramRasterSetCullMode }, - -{"nProgramVertexCreate", "(Z)I", (void*)nProgramVertexCreate }, -{"nProgramVertexCreate2", "(Ljava/lang/String;[I)I", (void*)nProgramVertexCreate2 }, - -{"nLightBegin", "()V", (void*)nLightBegin }, -{"nLightSetIsMono", "(Z)V", (void*)nLightSetIsMono }, -{"nLightSetIsLocal", "(Z)V", (void*)nLightSetIsLocal }, -{"nLightCreate", "()I", (void*)nLightCreate }, -{"nLightSetColor", "(IFFF)V", (void*)nLightSetColor }, -{"nLightSetPosition", "(IFFF)V", (void*)nLightSetPosition }, - -{"nContextBindRootScript", "(I)V", (void*)nContextBindRootScript }, -{"nContextBindProgramStore", "(I)V", (void*)nContextBindProgramStore }, -{"nContextBindProgramFragment", "(I)V", (void*)nContextBindProgramFragment }, -{"nContextBindProgramVertex", "(I)V", (void*)nContextBindProgramVertex }, -{"nContextBindProgramRaster", "(I)V", (void*)nContextBindProgramRaster }, - -{"nSamplerBegin", "()V", (void*)nSamplerBegin }, -{"nSamplerSet", "(II)V", (void*)nSamplerSet }, -{"nSamplerCreate", "()I", (void*)nSamplerCreate }, - -{"nMeshCreate", "(II)I", (void*)nMeshCreate }, -{"nMeshBindVertex", "(III)V", (void*)nMeshBindVertex }, -{"nMeshBindIndex", "(IIII)V", (void*)nMeshBindIndex }, - -{"nMeshGetVertexBufferCount", "(I)I", (void*)nMeshGetVertexBufferCount }, -{"nMeshGetIndexCount", "(I)I", (void*)nMeshGetIndexCount }, -{"nMeshGetVertices", "(I[II)V", (void*)nMeshGetVertices }, -{"nMeshGetIndices", "(I[I[II)V", (void*)nMeshGetIndices }, +{"nContextGetMessage", "(I[IZ)I", (void*)nContextGetMessage }, +{"nContextInitToClient", "(I)V", (void*)nContextInitToClient }, +{"nContextDeinitToClient", "(I)V", (void*)nContextDeinitToClient }, + + +// All methods below are thread protected in java. +{"rsnContextCreate", "(II)I", (void*)nContextCreate }, +{"rsnContextCreateGL", "(IIZ)I", (void*)nContextCreateGL }, +{"rsnContextFinish", "(I)V", (void*)nContextFinish }, +{"rsnContextSetPriority", "(II)V", (void*)nContextSetPriority }, +{"rsnContextSetSurface", "(IIILandroid/view/Surface;)V", (void*)nContextSetSurface }, +{"rsnContextDestroy", "(I)V", (void*)nContextDestroy }, +{"rsnContextDump", "(II)V", (void*)nContextDump }, +{"rsnContextPause", "(I)V", (void*)nContextPause }, +{"rsnContextResume", "(I)V", (void*)nContextResume }, +{"rsnAssignName", "(II[B)V", (void*)nAssignName }, +{"rsnGetName", "(II)Ljava/lang/String;", (void*)nGetName }, +{"rsnObjDestroy", "(II)V", (void*)nObjDestroy }, +{"rsnObjDestroyOOB", "(II)V", (void*)nObjDestroyOOB }, + +{"rsnFileOpen", "(I[B)I", (void*)nFileOpen }, +{"rsnFileA3DCreateFromAssetStream", "(II)I", (void*)nFileA3DCreateFromAssetStream }, +{"rsnFileA3DGetNumIndexEntries", "(II)I", (void*)nFileA3DGetNumIndexEntries }, +{"rsnFileA3DGetIndexEntries", "(III[I[Ljava/lang/String;)V", (void*)nFileA3DGetIndexEntries }, +{"rsnFileA3DGetEntryByIndex", "(III)I", (void*)nFileA3DGetEntryByIndex }, + +{"rsnFontCreateFromFile", "(ILjava/lang/String;II)I", (void*)nFontCreateFromFile }, + +{"rsnElementCreate", "(IIIZI)I", (void*)nElementCreate }, +{"rsnElementCreate2", "(I[I[Ljava/lang/String;)I", (void*)nElementCreate2 }, +{"rsnElementGetNativeData", "(II[I)V", (void*)nElementGetNativeData }, +{"rsnElementGetSubElements", "(II[I[Ljava/lang/String;)V", (void*)nElementGetSubElements }, + +{"rsnTypeBegin", "(II)V", (void*)nTypeBegin }, +{"rsnTypeAdd", "(III)V", (void*)nTypeAdd }, +{"rsnTypeCreate", "(I)I", (void*)nTypeCreate }, +{"rsnTypeFinalDestroy", "(ILandroid/renderscript/Type;)V", (void*)nTypeFinalDestroy }, +{"rsnTypeSetupFields", "(ILandroid/renderscript/Type;[I[I[Ljava/lang/reflect/Field;)V", (void*)nTypeSetupFields }, +{"rsnTypeGetNativeData", "(II[I)V", (void*)nTypeGetNativeData }, + +{"rsnAllocationCreateTyped", "(II)I", (void*)nAllocationCreateTyped }, +{"rsnAllocationCreateFromBitmap", "(IIZLandroid/graphics/Bitmap;)I", (void*)nAllocationCreateFromBitmap }, +{"rsnAllocationCreateBitmapRef", "(IILandroid/graphics/Bitmap;)I", (void*)nAllocationCreateBitmapRef }, +{"rsnAllocationCreateFromBitmapBoxed","(IIZLandroid/graphics/Bitmap;)I", (void*)nAllocationCreateFromBitmapBoxed }, +{"rsnAllocationCreateFromAssetStream","(IIZI)I", (void*)nAllocationCreateFromAssetStream }, +{"rsnAllocationUploadToTexture", "(IIZI)V", (void*)nAllocationUploadToTexture }, +{"rsnAllocationUploadToBufferObject","(II)V", (void*)nAllocationUploadToBufferObject }, +{"rsnAllocationSubData1D", "(IIII[II)V", (void*)nAllocationSubData1D_i }, +{"rsnAllocationSubData1D", "(IIII[SI)V", (void*)nAllocationSubData1D_s }, +{"rsnAllocationSubData1D", "(IIII[BI)V", (void*)nAllocationSubData1D_b }, +{"rsnAllocationSubData1D", "(IIII[FI)V", (void*)nAllocationSubData1D_f }, +{"rsnAllocationSubData2D", "(IIIIII[II)V", (void*)nAllocationSubData2D_i }, +{"rsnAllocationSubData2D", "(IIIIII[FI)V", (void*)nAllocationSubData2D_f }, +{"rsnAllocationRead", "(II[I)V", (void*)nAllocationRead_i }, +{"rsnAllocationRead", "(II[F)V", (void*)nAllocationRead_f }, +{"rsnAllocationSubDataFromObject", "(IILandroid/renderscript/Type;ILjava/lang/Object;)V", (void*)nAllocationSubDataFromObject }, +{"rsnAllocationSubReadFromObject", "(IILandroid/renderscript/Type;ILjava/lang/Object;)V", (void*)nAllocationSubReadFromObject }, +{"rsnAllocationGetType", "(II)I", (void*)nAllocationGetType}, + +{"rsnAdapter1DBindAllocation", "(III)V", (void*)nAdapter1DBindAllocation }, +{"rsnAdapter1DSetConstraint", "(IIII)V", (void*)nAdapter1DSetConstraint }, +{"rsnAdapter1DData", "(II[I)V", (void*)nAdapter1DData_i }, +{"rsnAdapter1DData", "(II[F)V", (void*)nAdapter1DData_f }, +{"rsnAdapter1DSubData", "(IIII[I)V", (void*)nAdapter1DSubData_i }, +{"rsnAdapter1DSubData", "(IIII[F)V", (void*)nAdapter1DSubData_f }, +{"rsnAdapter1DCreate", "(I)I", (void*)nAdapter1DCreate }, + +{"rsnAdapter2DBindAllocation", "(III)V", (void*)nAdapter2DBindAllocation }, +{"rsnAdapter2DSetConstraint", "(IIII)V", (void*)nAdapter2DSetConstraint }, +{"rsnAdapter2DData", "(II[I)V", (void*)nAdapter2DData_i }, +{"rsnAdapter2DData", "(II[F)V", (void*)nAdapter2DData_f }, +{"rsnAdapter2DSubData", "(IIIIII[I)V", (void*)nAdapter2DSubData_i }, +{"rsnAdapter2DSubData", "(IIIIII[F)V", (void*)nAdapter2DSubData_f }, +{"rsnAdapter2DCreate", "(I)I", (void*)nAdapter2DCreate }, + +{"rsnScriptBindAllocation", "(IIII)V", (void*)nScriptBindAllocation }, +{"rsnScriptSetTimeZone", "(II[B)V", (void*)nScriptSetTimeZone }, +{"rsnScriptInvoke", "(III)V", (void*)nScriptInvoke }, +{"rsnScriptInvokeV", "(III[B)V", (void*)nScriptInvokeV }, +{"rsnScriptSetVarI", "(IIII)V", (void*)nScriptSetVarI }, +{"rsnScriptSetVarF", "(IIIF)V", (void*)nScriptSetVarF }, +{"rsnScriptSetVarV", "(III[B)V", (void*)nScriptSetVarV }, + +{"rsnScriptCBegin", "(I)V", (void*)nScriptCBegin }, +{"rsnScriptCSetScript", "(I[BII)V", (void*)nScriptCSetScript }, +{"rsnScriptCCreate", "(I)I", (void*)nScriptCCreate }, + +{"rsnProgramStoreBegin", "(III)V", (void*)nProgramStoreBegin }, +{"rsnProgramStoreDepthFunc", "(II)V", (void*)nProgramStoreDepthFunc }, +{"rsnProgramStoreDepthMask", "(IZ)V", (void*)nProgramStoreDepthMask }, +{"rsnProgramStoreColorMask", "(IZZZZ)V", (void*)nProgramStoreColorMask }, +{"rsnProgramStoreBlendFunc", "(III)V", (void*)nProgramStoreBlendFunc }, +{"rsnProgramStoreDither", "(IZ)V", (void*)nProgramStoreDither }, +{"rsnProgramStoreCreate", "(I)I", (void*)nProgramStoreCreate }, + +{"rsnProgramBindConstants", "(IIII)V", (void*)nProgramBindConstants }, +{"rsnProgramBindTexture", "(IIII)V", (void*)nProgramBindTexture }, +{"rsnProgramBindSampler", "(IIII)V", (void*)nProgramBindSampler }, + +{"rsnProgramFragmentCreate", "(I[I)I", (void*)nProgramFragmentCreate }, +{"rsnProgramFragmentCreate2", "(ILjava/lang/String;[I)I", (void*)nProgramFragmentCreate2 }, + +{"rsnProgramRasterCreate", "(IZZZ)I", (void*)nProgramRasterCreate }, +{"rsnProgramRasterSetLineWidth", "(IIF)V", (void*)nProgramRasterSetLineWidth }, +{"rsnProgramRasterSetCullMode", "(III)V", (void*)nProgramRasterSetCullMode }, + +{"rsnProgramVertexCreate", "(IZ)I", (void*)nProgramVertexCreate }, +{"rsnProgramVertexCreate2", "(ILjava/lang/String;[I)I", (void*)nProgramVertexCreate2 }, + +{"rsnContextBindRootScript", "(II)V", (void*)nContextBindRootScript }, +{"rsnContextBindProgramStore", "(II)V", (void*)nContextBindProgramStore }, +{"rsnContextBindProgramFragment", "(II)V", (void*)nContextBindProgramFragment }, +{"rsnContextBindProgramVertex", "(II)V", (void*)nContextBindProgramVertex }, +{"rsnContextBindProgramRaster", "(II)V", (void*)nContextBindProgramRaster }, + +{"rsnSamplerBegin", "(I)V", (void*)nSamplerBegin }, +{"rsnSamplerSet", "(III)V", (void*)nSamplerSet }, +{"rsnSamplerCreate", "(I)I", (void*)nSamplerCreate }, + +{"rsnMeshCreate", "(III)I", (void*)nMeshCreate }, +{"rsnMeshBindVertex", "(IIII)V", (void*)nMeshBindVertex }, +{"rsnMeshBindIndex", "(IIIII)V", (void*)nMeshBindIndex }, + +{"rsnMeshGetVertexBufferCount", "(II)I", (void*)nMeshGetVertexBufferCount }, +{"rsnMeshGetIndexCount", "(II)I", (void*)nMeshGetIndexCount }, +{"rsnMeshGetVertices", "(II[II)V", (void*)nMeshGetVertices }, +{"rsnMeshGetIndices", "(II[I[II)V", (void*)nMeshGetIndices }, }; diff --git a/libs/rs/rs.spec b/libs/rs/rs.spec index 571b145..781dbea 100644 --- a/libs/rs/rs.spec +++ b/libs/rs/rs.spec @@ -438,36 +438,6 @@ ProgramVertexCreate2 { ret RsProgramVertex } -LightBegin { - } - -LightSetLocal { - param bool isLocal - } - -LightSetMonochromatic { - param bool isMono - } - -LightCreate { - ret RsLight light - } - - -LightSetPosition { - param RsLight light - param float x - param float y - param float z - } - -LightSetColor { - param RsLight light - param float r - param float g - param float b - } - FileA3DCreateFromAssetStream { param const void * data param size_t len |