| /* |
| * Copyright (C) 2011-2014 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. |
| */ |
| |
| /* |
| * This file is auto-generated. DO NOT MODIFY! |
| * The source Renderscript file: reflection3264_divergent.rs |
| */ |
| |
| package foo; |
| |
| import android.os.Build; |
| import android.os.Process; |
| import java.lang.reflect.Field; |
| import android.renderscript.*; |
| import foo.reflection3264_divergentBitCode; |
| |
| /** |
| * @hide |
| */ |
| public class ScriptC_reflection3264_divergent extends ScriptC { |
| private static final String __rs_resource_name = "reflection3264_divergent"; |
| // Constructor |
| public ScriptC_reflection3264_divergent(RenderScript rs) { |
| super(rs, |
| __rs_resource_name, |
| reflection3264_divergentBitCode.getBitCode32(), |
| reflection3264_divergentBitCode.getBitCode64()); |
| __I32 = Element.I32(rs); |
| __@@INVALID@@ = Element.@@INVALID@@(rs); |
| __ALLOCATION = Element.ALLOCATION(rs); |
| __ScriptField_NonDivergent = ScriptField_NonDivergent.createElement(rs); |
| __ScriptField_Divergent = ScriptField_Divergent.createElement(rs); |
| __ScriptField_DivergentNest = ScriptField_DivergentNest.createElement(rs); |
| } |
| |
| private Element __@@INVALID@@; |
| private Element __ALLOCATION; |
| private Element __I32; |
| private Element __ScriptField_Divergent; |
| private Element __ScriptField_DivergentNest; |
| private Element __ScriptField_NonDivergent; |
| private FieldPacker __rs_fp_@@INVALID@@; |
| private FieldPacker __rs_fp_ALLOCATION; |
| private FieldPacker __rs_fp_I32; |
| private FieldPacker __rs_fp_ScriptField_Divergent; |
| private FieldPacker __rs_fp_ScriptField_DivergentNest; |
| private FieldPacker __rs_fp_ScriptField_NonDivergent; |
| private final static int mExportVarIdx_intVar = 0; |
| private int mExportVar_intVar; |
| public synchronized void set_intVar(int v) { |
| setVar(mExportVarIdx_intVar, v); |
| mExportVar_intVar = v; |
| } |
| |
| public int get_intVar() { |
| return mExportVar_intVar; |
| } |
| |
| public Script.FieldID getFieldID_intVar() { |
| return createFieldID(mExportVarIdx_intVar, null); |
| } |
| |
| private final static int mExportVarIdx_intArray = 1; |
| private int[] mExportVar_intArray; |
| public synchronized void set_intArray(int[] v) { |
| mExportVar_intArray = v; |
| FieldPacker fp = new FieldPacker(40); |
| for (int ct1 = 0; ct1 < 10; ct1++) { |
| fp.addI32(v[ct1]); |
| } |
| |
| int []__dimArr = new int[1]; |
| __dimArr[0] = 10; |
| setVar(mExportVarIdx_intArray, fp, __I32, __dimArr); |
| } |
| |
| public int[] get_intArray() { |
| return mExportVar_intArray; |
| } |
| |
| public Script.FieldID getFieldID_intArray() { |
| return createFieldID(mExportVarIdx_intArray, null); |
| } |
| |
| private final static int mExportVarIdx_matVar = 2; |
| private Matrix2f mExportVar_matVar; |
| public synchronized void set_matVar(Matrix2f v) { |
| mExportVar_matVar = v; |
| FieldPacker fp = new FieldPacker(16); |
| fp.addMatrix(v); |
| setVar(mExportVarIdx_matVar, fp); |
| } |
| |
| public Matrix2f get_matVar() { |
| return mExportVar_matVar; |
| } |
| |
| public Script.FieldID getFieldID_matVar() { |
| return createFieldID(mExportVarIdx_matVar, null); |
| } |
| |
| private final static int mExportVarIdx_matArray = 3; |
| private Matrix2f[] mExportVar_matArray; |
| public synchronized void set_matArray(Matrix2f[] v) { |
| mExportVar_matArray = v; |
| FieldPacker fp = new FieldPacker(160); |
| for (int ct1 = 0; ct1 < 10; ct1++) { |
| fp.addMatrix(v[ct1]); |
| } |
| |
| int []__dimArr = new int[1]; |
| __dimArr[0] = 10; |
| setVar(mExportVarIdx_matArray, fp, __@@INVALID@@, __dimArr); |
| } |
| |
| public Matrix2f[] get_matArray() { |
| return mExportVar_matArray; |
| } |
| |
| public Script.FieldID getFieldID_matArray() { |
| return createFieldID(mExportVarIdx_matArray, null); |
| } |
| |
| private final static int mExportVarIdx_allocVar = 4; |
| private Allocation mExportVar_allocVar; |
| public synchronized void set_allocVar(Allocation v) { |
| setVar(mExportVarIdx_allocVar, v); |
| mExportVar_allocVar = v; |
| } |
| |
| public Allocation get_allocVar() { |
| return mExportVar_allocVar; |
| } |
| |
| public Script.FieldID getFieldID_allocVar() { |
| return createFieldID(mExportVarIdx_allocVar, null); |
| } |
| |
| private final static int mExportVarIdx_allocArray = 5; |
| private Allocation[] mExportVar_allocArray; |
| public synchronized void set_allocArray(Allocation[] v) { |
| mExportVar_allocArray = v; |
| FieldPacker fp = new FieldPacker(sIs64Bit ? 320 : 40); |
| for (int ct1 = 0; ct1 < 10; ct1++) { |
| fp.addObj(v[ct1]); |
| } |
| |
| int []__dimArr = new int[1]; |
| __dimArr[0] = 10; |
| setVar(mExportVarIdx_allocArray, fp, __ALLOCATION, __dimArr); |
| } |
| |
| public Allocation[] get_allocArray() { |
| return mExportVar_allocArray; |
| } |
| |
| public Script.FieldID getFieldID_allocArray() { |
| return createFieldID(mExportVarIdx_allocArray, null); |
| } |
| |
| private final static int mExportVarIdx_ndVar = 6; |
| private ScriptField_NonDivergent.Item mExportVar_ndVar; |
| public synchronized void set_ndVar(ScriptField_NonDivergent.Item v) { |
| mExportVar_ndVar = v; |
| FieldPacker fp = new FieldPacker(8); |
| fp.addI32(v.i); |
| fp.addI32(v.j); |
| int []__dimArr = new int[1]; |
| __dimArr[0] = 1; |
| setVar(mExportVarIdx_ndVar, fp, __ScriptField_NonDivergent, __dimArr); |
| } |
| |
| public ScriptField_NonDivergent.Item get_ndVar() { |
| return mExportVar_ndVar; |
| } |
| |
| public Script.FieldID getFieldID_ndVar() { |
| return createFieldID(mExportVarIdx_ndVar, null); |
| } |
| |
| private final static int mExportVarIdx_ndArray = 7; |
| private ScriptField_NonDivergent.Item[] mExportVar_ndArray; |
| public synchronized void set_ndArray(ScriptField_NonDivergent.Item[] v) { |
| mExportVar_ndArray = v; |
| FieldPacker fp = new FieldPacker(80); |
| for (int ct1 = 0; ct1 < 10; ct1++) { |
| fp.addI32(v[ct1].i); |
| fp.addI32(v[ct1].j); |
| } |
| |
| int []__dimArr = new int[1]; |
| __dimArr[0] = 10; |
| setVar(mExportVarIdx_ndArray, fp, __ScriptField_NonDivergent, __dimArr); |
| } |
| |
| public ScriptField_NonDivergent.Item[] get_ndArray() { |
| return mExportVar_ndArray; |
| } |
| |
| public Script.FieldID getFieldID_ndArray() { |
| return createFieldID(mExportVarIdx_ndArray, null); |
| } |
| |
| private final static int mExportVarIdx_dVar = 8; |
| private ScriptField_Divergent.Item mExportVar_dVar; |
| public synchronized void set_dVar(ScriptField_Divergent.Item v) { |
| mExportVar_dVar = v; |
| FieldPacker fp = new FieldPacker(sIs64Bit ? 48 : 12); |
| fp.addI32(v.i); |
| fp.skip(sIs64Bit ? 4 : 0); |
| fp.addObj(v.a); |
| fp.addI32(v.j); |
| fp.skip(sIs64Bit ? 4 : 0); |
| int []__dimArr = new int[1]; |
| __dimArr[0] = 1; |
| setVar(mExportVarIdx_dVar, fp, __ScriptField_Divergent, __dimArr); |
| } |
| |
| public ScriptField_Divergent.Item get_dVar() { |
| return mExportVar_dVar; |
| } |
| |
| public Script.FieldID getFieldID_dVar() { |
| return createFieldID(mExportVarIdx_dVar, null); |
| } |
| |
| private final static int mExportVarIdx_dArray = 9; |
| private ScriptField_Divergent.Item[] mExportVar_dArray; |
| public synchronized void set_dArray(ScriptField_Divergent.Item[] v) { |
| mExportVar_dArray = v; |
| FieldPacker fp = new FieldPacker(sIs64Bit ? 400 : 120); |
| for (int ct1 = 0; ct1 < 10; ct1++) { |
| fp.addI32(v[ct1].i); |
| fp.skip(sIs64Bit ? 4 : 0); |
| fp.addObj(v[ct1].a); |
| fp.addI32(v[ct1].j); |
| fp.skip(sIs64Bit ? 4 : 0); |
| } |
| |
| int []__dimArr = new int[1]; |
| __dimArr[0] = 10; |
| setVar(mExportVarIdx_dArray, fp, __ScriptField_Divergent, __dimArr); |
| } |
| |
| public ScriptField_Divergent.Item[] get_dArray() { |
| return mExportVar_dArray; |
| } |
| |
| public Script.FieldID getFieldID_dArray() { |
| return createFieldID(mExportVarIdx_dArray, null); |
| } |
| |
| private final static int mExportVarIdx_dnVar = 10; |
| private ScriptField_DivergentNest.Item mExportVar_dnVar; |
| public synchronized void set_dnVar(ScriptField_DivergentNest.Item v) { |
| mExportVar_dnVar = v; |
| FieldPacker fp = new FieldPacker(sIs64Bit ? 64 : 20); |
| fp.addI32(v.x); |
| fp.skip(sIs64Bit ? 4 : 0); |
| fp.addI32(v.d.i); |
| fp.skip(sIs64Bit ? 4 : 0); |
| fp.addObj(v.d.a); |
| fp.addI32(v.d.j); |
| fp.skip(sIs64Bit ? 4 : 0); |
| fp.addI32(v.y); |
| fp.skip(sIs64Bit ? 4 : 0); |
| int []__dimArr = new int[1]; |
| __dimArr[0] = 1; |
| setVar(mExportVarIdx_dnVar, fp, __ScriptField_DivergentNest, __dimArr); |
| } |
| |
| public ScriptField_DivergentNest.Item get_dnVar() { |
| return mExportVar_dnVar; |
| } |
| |
| public Script.FieldID getFieldID_dnVar() { |
| return createFieldID(mExportVarIdx_dnVar, null); |
| } |
| |
| private final static int mExportVarIdx_dnArray = 11; |
| private ScriptField_DivergentNest.Item[] mExportVar_dnArray; |
| public synchronized void set_dnArray(ScriptField_DivergentNest.Item[] v) { |
| mExportVar_dnArray = v; |
| FieldPacker fp = new FieldPacker(sIs64Bit ? 480 : 200); |
| for (int ct1 = 0; ct1 < 10; ct1++) { |
| fp.addI32(v[ct1].x); |
| fp.skip(sIs64Bit ? 4 : 0); |
| fp.addI32(v[ct1].d.i); |
| fp.skip(sIs64Bit ? 4 : 0); |
| fp.addObj(v[ct1].d.a); |
| fp.addI32(v[ct1].d.j); |
| fp.skip(sIs64Bit ? 4 : 0); |
| fp.addI32(v[ct1].y); |
| fp.skip(sIs64Bit ? 4 : 0); |
| } |
| |
| int []__dimArr = new int[1]; |
| __dimArr[0] = 10; |
| setVar(mExportVarIdx_dnArray, fp, __ScriptField_DivergentNest, __dimArr); |
| } |
| |
| public ScriptField_DivergentNest.Item[] get_dnArray() { |
| return mExportVar_dnArray; |
| } |
| |
| public Script.FieldID getFieldID_dnArray() { |
| return createFieldID(mExportVarIdx_dnArray, null); |
| } |
| |
| //private final static int mExportForEachIdx_root = 0; |
| private final static int mExportForEachIdx_dnFe = 1; |
| public Script.KernelID getKernelID_dnFe() { |
| return createKernelID(mExportForEachIdx_dnFe, 7, null, null); |
| } |
| |
| public void forEach_dnFe(Allocation ain, Allocation aout, ScriptField_DivergentNest.Item data) { |
| forEach_dnFe(ain, aout, data, null); |
| } |
| |
| public void forEach_dnFe(Allocation ain, Allocation aout, ScriptField_DivergentNest.Item data, Script.LaunchOptions sc) { |
| // check ain |
| if (!ain.getType().getElement().isCompatible(__I32)) { |
| throw new RSRuntimeException("Type mismatch with I32!"); |
| } |
| // check aout |
| if (!aout.getType().getElement().isCompatible(__I32)) { |
| throw new RSRuntimeException("Type mismatch with I32!"); |
| } |
| Type t0, t1; // Verify dimensions |
| t0 = ain.getType(); |
| t1 = aout.getType(); |
| if ((t0.getCount() != t1.getCount()) || |
| (t0.getX() != t1.getX()) || |
| (t0.getY() != t1.getY()) || |
| (t0.getZ() != t1.getZ()) || |
| (t0.hasFaces() != t1.hasFaces()) || |
| (t0.hasMipmaps() != t1.hasMipmaps())) { |
| throw new RSRuntimeException("Dimension mismatch between parameters ain and aout!"); |
| } |
| |
| FieldPacker dnFe_fp = new FieldPacker(sIs64Bit ? 64 : 20); |
| dnFe_fp.addI32(data.x); |
| dnFe_fp.skip(sIs64Bit ? 4 : 0); |
| dnFe_fp.addI32(data.d.i); |
| dnFe_fp.skip(sIs64Bit ? 4 : 0); |
| dnFe_fp.addObj(data.d.a); |
| dnFe_fp.addI32(data.d.j); |
| dnFe_fp.skip(sIs64Bit ? 4 : 0); |
| dnFe_fp.addI32(data.y); |
| dnFe_fp.skip(sIs64Bit ? 4 : 0); |
| forEach(mExportForEachIdx_dnFe, ain, aout, dnFe_fp, sc); |
| } |
| |
| private final static int mExportForEachIdx_dFe = 2; |
| public Script.KernelID getKernelID_dFe() { |
| return createKernelID(mExportForEachIdx_dFe, 7, null, null); |
| } |
| |
| public void forEach_dFe(Allocation ain, Allocation aout, ScriptField_Divergent.Item data) { |
| forEach_dFe(ain, aout, data, null); |
| } |
| |
| public void forEach_dFe(Allocation ain, Allocation aout, ScriptField_Divergent.Item data, Script.LaunchOptions sc) { |
| // check ain |
| if (!ain.getType().getElement().isCompatible(__I32)) { |
| throw new RSRuntimeException("Type mismatch with I32!"); |
| } |
| // check aout |
| if (!aout.getType().getElement().isCompatible(__I32)) { |
| throw new RSRuntimeException("Type mismatch with I32!"); |
| } |
| Type t0, t1; // Verify dimensions |
| t0 = ain.getType(); |
| t1 = aout.getType(); |
| if ((t0.getCount() != t1.getCount()) || |
| (t0.getX() != t1.getX()) || |
| (t0.getY() != t1.getY()) || |
| (t0.getZ() != t1.getZ()) || |
| (t0.hasFaces() != t1.hasFaces()) || |
| (t0.hasMipmaps() != t1.hasMipmaps())) { |
| throw new RSRuntimeException("Dimension mismatch between parameters ain and aout!"); |
| } |
| |
| FieldPacker dFe_fp = new FieldPacker(sIs64Bit ? 48 : 12); |
| dFe_fp.addI32(data.i); |
| dFe_fp.skip(sIs64Bit ? 4 : 0); |
| dFe_fp.addObj(data.a); |
| dFe_fp.addI32(data.j); |
| dFe_fp.skip(sIs64Bit ? 4 : 0); |
| forEach(mExportForEachIdx_dFe, ain, aout, dFe_fp, sc); |
| } |
| |
| private final static int mExportForEachIdx_ndFe = 3; |
| public Script.KernelID getKernelID_ndFe() { |
| return createKernelID(mExportForEachIdx_ndFe, 7, null, null); |
| } |
| |
| public void forEach_ndFe(Allocation ain, Allocation aout, ScriptField_NonDivergent.Item data) { |
| forEach_ndFe(ain, aout, data, null); |
| } |
| |
| public void forEach_ndFe(Allocation ain, Allocation aout, ScriptField_NonDivergent.Item data, Script.LaunchOptions sc) { |
| // check ain |
| if (!ain.getType().getElement().isCompatible(__I32)) { |
| throw new RSRuntimeException("Type mismatch with I32!"); |
| } |
| // check aout |
| if (!aout.getType().getElement().isCompatible(__I32)) { |
| throw new RSRuntimeException("Type mismatch with I32!"); |
| } |
| Type t0, t1; // Verify dimensions |
| t0 = ain.getType(); |
| t1 = aout.getType(); |
| if ((t0.getCount() != t1.getCount()) || |
| (t0.getX() != t1.getX()) || |
| (t0.getY() != t1.getY()) || |
| (t0.getZ() != t1.getZ()) || |
| (t0.hasFaces() != t1.hasFaces()) || |
| (t0.hasMipmaps() != t1.hasMipmaps())) { |
| throw new RSRuntimeException("Dimension mismatch between parameters ain and aout!"); |
| } |
| |
| FieldPacker ndFe_fp = new FieldPacker(8); |
| ndFe_fp.addI32(data.i); |
| ndFe_fp.addI32(data.j); |
| forEach(mExportForEachIdx_ndFe, ain, aout, ndFe_fp, sc); |
| } |
| |
| private final static int mExportForEachIdx_allocFe = 4; |
| public Script.KernelID getKernelID_allocFe() { |
| return createKernelID(mExportForEachIdx_allocFe, 7, null, null); |
| } |
| |
| public void forEach_allocFe(Allocation ain, Allocation aout, Allocation data) { |
| forEach_allocFe(ain, aout, data, null); |
| } |
| |
| public void forEach_allocFe(Allocation ain, Allocation aout, Allocation data, Script.LaunchOptions sc) { |
| // check ain |
| if (!ain.getType().getElement().isCompatible(__I32)) { |
| throw new RSRuntimeException("Type mismatch with I32!"); |
| } |
| // check aout |
| if (!aout.getType().getElement().isCompatible(__I32)) { |
| throw new RSRuntimeException("Type mismatch with I32!"); |
| } |
| Type t0, t1; // Verify dimensions |
| t0 = ain.getType(); |
| t1 = aout.getType(); |
| if ((t0.getCount() != t1.getCount()) || |
| (t0.getX() != t1.getX()) || |
| (t0.getY() != t1.getY()) || |
| (t0.getZ() != t1.getZ()) || |
| (t0.hasFaces() != t1.hasFaces()) || |
| (t0.hasMipmaps() != t1.hasMipmaps())) { |
| throw new RSRuntimeException("Dimension mismatch between parameters ain and aout!"); |
| } |
| |
| FieldPacker allocFe_fp = new FieldPacker(sIs64Bit ? 32 : 4); |
| allocFe_fp.addObj(data); |
| forEach(mExportForEachIdx_allocFe, ain, aout, allocFe_fp, sc); |
| } |
| |
| private final static int mExportForEachIdx_matFe = 5; |
| public Script.KernelID getKernelID_matFe() { |
| return createKernelID(mExportForEachIdx_matFe, 7, null, null); |
| } |
| |
| public void forEach_matFe(Allocation ain, Allocation aout, Matrix2f data) { |
| forEach_matFe(ain, aout, data, null); |
| } |
| |
| public void forEach_matFe(Allocation ain, Allocation aout, Matrix2f data, Script.LaunchOptions sc) { |
| // check ain |
| if (!ain.getType().getElement().isCompatible(__I32)) { |
| throw new RSRuntimeException("Type mismatch with I32!"); |
| } |
| // check aout |
| if (!aout.getType().getElement().isCompatible(__I32)) { |
| throw new RSRuntimeException("Type mismatch with I32!"); |
| } |
| Type t0, t1; // Verify dimensions |
| t0 = ain.getType(); |
| t1 = aout.getType(); |
| if ((t0.getCount() != t1.getCount()) || |
| (t0.getX() != t1.getX()) || |
| (t0.getY() != t1.getY()) || |
| (t0.getZ() != t1.getZ()) || |
| (t0.hasFaces() != t1.hasFaces()) || |
| (t0.hasMipmaps() != t1.hasMipmaps())) { |
| throw new RSRuntimeException("Dimension mismatch between parameters ain and aout!"); |
| } |
| |
| FieldPacker matFe_fp = new FieldPacker(16); |
| matFe_fp.addMatrix(data); |
| forEach(mExportForEachIdx_matFe, ain, aout, matFe_fp, sc); |
| } |
| |
| private final static int mExportForEachIdx_intFe = 6; |
| public Script.KernelID getKernelID_intFe() { |
| return createKernelID(mExportForEachIdx_intFe, 7, null, null); |
| } |
| |
| public void forEach_intFe(Allocation ain, Allocation aout, int data) { |
| forEach_intFe(ain, aout, data, null); |
| } |
| |
| public void forEach_intFe(Allocation ain, Allocation aout, int data, Script.LaunchOptions sc) { |
| // check ain |
| if (!ain.getType().getElement().isCompatible(__I32)) { |
| throw new RSRuntimeException("Type mismatch with I32!"); |
| } |
| // check aout |
| if (!aout.getType().getElement().isCompatible(__I32)) { |
| throw new RSRuntimeException("Type mismatch with I32!"); |
| } |
| Type t0, t1; // Verify dimensions |
| t0 = ain.getType(); |
| t1 = aout.getType(); |
| if ((t0.getCount() != t1.getCount()) || |
| (t0.getX() != t1.getX()) || |
| (t0.getY() != t1.getY()) || |
| (t0.getZ() != t1.getZ()) || |
| (t0.hasFaces() != t1.hasFaces()) || |
| (t0.hasMipmaps() != t1.hasMipmaps())) { |
| throw new RSRuntimeException("Dimension mismatch between parameters ain and aout!"); |
| } |
| |
| FieldPacker intFe_fp = new FieldPacker(4); |
| intFe_fp.addI32(data); |
| forEach(mExportForEachIdx_intFe, ain, aout, intFe_fp, sc); |
| } |
| |
| private final static int mExportFuncIdx_ndInv = 0; |
| public Script.InvokeID getInvokeID_ndInv() { |
| return createInvokeID(mExportFuncIdx_ndInv); |
| } |
| |
| public void invoke_ndInv(int i, int j) { |
| FieldPacker ndInv_fp = new FieldPacker(8); |
| ndInv_fp.addI32(i); |
| ndInv_fp.addI32(j); |
| invoke(mExportFuncIdx_ndInv, ndInv_fp); |
| } |
| |
| private final static int mExportFuncIdx_dInv = 1; |
| public Script.InvokeID getInvokeID_dInv() { |
| return createInvokeID(mExportFuncIdx_dInv); |
| } |
| |
| public void invoke_dInv(int i, Allocation a, int j) { |
| FieldPacker dInv_fp = new FieldPacker(sIs64Bit ? 48 : 12); |
| dInv_fp.addI32(i); |
| dInv_fp.skip(sIs64Bit ? 4 : 0); |
| dInv_fp.addObj(a); |
| dInv_fp.addI32(j); |
| dInv_fp.skip(sIs64Bit ? 4 : 0); |
| invoke(mExportFuncIdx_dInv, dInv_fp); |
| } |
| |
| private final static int mExportFuncIdx_dnInv = 2; |
| public Script.InvokeID getInvokeID_dnInv() { |
| return createInvokeID(mExportFuncIdx_dnInv); |
| } |
| |
| public void invoke_dnInv(int x, ScriptField_Divergent.Item d, int y) { |
| FieldPacker dnInv_fp = new FieldPacker(sIs64Bit ? 64 : 20); |
| dnInv_fp.addI32(x); |
| dnInv_fp.skip(sIs64Bit ? 4 : 0); |
| dnInv_fp.addI32(d.i); |
| dnInv_fp.skip(sIs64Bit ? 4 : 0); |
| dnInv_fp.addObj(d.a); |
| dnInv_fp.addI32(d.j); |
| dnInv_fp.skip(sIs64Bit ? 4 : 0); |
| dnInv_fp.addI32(y); |
| dnInv_fp.skip(sIs64Bit ? 4 : 0); |
| invoke(mExportFuncIdx_dnInv, dnInv_fp); |
| } |
| |
| private static boolean sIs64Bit; |
| |
| static { |
| if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { |
| sIs64Bit = Process.is64Bit(); |
| } |
| |
| else { |
| try { |
| Field f = RenderScript.class.getDeclaredField("sPointerSize"); |
| f.setAccessible(true); |
| sIs64Bit = (f.getInt(null) == 8); |
| } |
| |
| catch (Throwable e) { |
| sIs64Bit = false; |
| } |
| |
| } |
| |
| } |
| |
| } |
| |