FieldPacker.java revision 032b2c2c8a3cf2c55f6f08557f2648d799766c4e
145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams/* 245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams * Copyright (C) 2012 The Android Open Source Project 345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams * 445d443665f5ce7efa934706a89883f0cc87f3513Jason Sams * Licensed under the Apache License, Version 2.0 (the "License"); 545d443665f5ce7efa934706a89883f0cc87f3513Jason Sams * you may not use this file except in compliance with the License. 645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams * You may obtain a copy of the License at 745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams * 845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams * http://www.apache.org/licenses/LICENSE-2.0 945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams * 1045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams * Unless required by applicable law or agreed to in writing, software 1145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams * distributed under the License is distributed on an "AS IS" BASIS, 1245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams * See the License for the specific language governing permissions and 1445d443665f5ce7efa934706a89883f0cc87f3513Jason Sams * limitations under the License. 1545d443665f5ce7efa934706a89883f0cc87f3513Jason Sams */ 1645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 1745d443665f5ce7efa934706a89883f0cc87f3513Jason Samspackage android.support.v8.renderscript; 1845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 196a2a5e0e083881c7a7b78892c03b49eece99d9fcTim Murrayimport android.os.SystemProperties; 2045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 2145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams/** 2245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams * Utility class for packing arguments and structures from Android system objects to 23032b2c2c8a3cf2c55f6f08557f2648d799766c4eStephen Hines * RenderScript objects. 24032b2c2c8a3cf2c55f6f08557f2648d799766c4eStephen Hines * 25032b2c2c8a3cf2c55f6f08557f2648d799766c4eStephen Hines * This class is only intended to be used to support the 26032b2c2c8a3cf2c55f6f08557f2648d799766c4eStephen Hines * reflected code generated by the RS tool chain. It should not 27032b2c2c8a3cf2c55f6f08557f2648d799766c4eStephen Hines * be called directly. 2845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams * 2945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams **/ 3045d443665f5ce7efa934706a89883f0cc87f3513Jason Samspublic class FieldPacker { 31baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray private static int thunk = 0; 32baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray 33baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray private android.renderscript.FieldPacker mN; 34baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray 35baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray private boolean shouldThunk() { 36baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (thunk == 0) { 376a2a5e0e083881c7a7b78892c03b49eece99d9fcTim Murray if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.JELLY_BEAN_MR1 || 386a2a5e0e083881c7a7b78892c03b49eece99d9fcTim Murray SystemProperties.getInt("debug.rs.forcenative", 0) != 0) { 396a2a5e0e083881c7a7b78892c03b49eece99d9fcTim Murray 40baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray thunk = 1; 41baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } else { 42baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray thunk = -1; 43baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 44baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 45baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (thunk == 1) { 46baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return true; 47baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 48baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return false; 49baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 50baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray 5145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public FieldPacker(int len) { 5245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mPos = 0; 5345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mLen = len; 5445d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData = new byte[len]; 55baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 56baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN = new android.renderscript.FieldPacker(len); 57baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 5845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 5945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 6045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void align(int v) { 61baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 62baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.align(v); 63baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 64baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 6545d443665f5ce7efa934706a89883f0cc87f3513Jason Sams if ((v <= 0) || ((v & (v - 1)) != 0)) { 6645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams throw new RSIllegalArgumentException("argument must be a non-negative non-zero power of 2: " + v); 6745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 6845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 6945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams while ((mPos & (v - 1)) != 0) { 7045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = 0; 7145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 7245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 7345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 7445d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void reset() { 75baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 76baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.reset(); 77baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 78baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 7945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mPos = 0; 8045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 8145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void reset(int i) { 82baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 83baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.reset(i); 84baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 85baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 8645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams if ((i < 0) || (i >= mLen)) { 8745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams throw new RSIllegalArgumentException("out of range argument: " + i); 8845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 8945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mPos = i; 9045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 9145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 9245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void skip(int i) { 93baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 94baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.skip(i); 95baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 96baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 9745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams int res = mPos + i; 9845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams if ((res < 0) || (res > mLen)) { 9945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams throw new RSIllegalArgumentException("out of range argument: " + i); 10045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 10145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mPos = res; 10245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 10345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 10445d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addI8(byte v) { 105baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 106baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addI8(v); 107baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 108baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 10945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = v; 11045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 11145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 11245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addI16(short v) { 113baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 114baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addI16(v); 115baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 116baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 11745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams align(2); 11845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)(v & 0xff); 11945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)(v >> 8); 12045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 12145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 12245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addI32(int v) { 123baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 124baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addI32(v); 125baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 126baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 12745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams align(4); 12845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)(v & 0xff); 12945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)((v >> 8) & 0xff); 13045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)((v >> 16) & 0xff); 13145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)((v >> 24) & 0xff); 13245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 13345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 13445d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addI64(long v) { 135baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 136baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addI64(v); 137baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 138baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 13945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams align(8); 14045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)(v & 0xff); 14145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)((v >> 8) & 0xff); 14245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)((v >> 16) & 0xff); 14345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)((v >> 24) & 0xff); 14445d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)((v >> 32) & 0xff); 14545d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)((v >> 40) & 0xff); 14645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)((v >> 48) & 0xff); 14745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)((v >> 56) & 0xff); 14845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 14945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 15045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addU8(short v) { 151baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 152baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addU8(v); 153baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 154baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 15545d443665f5ce7efa934706a89883f0cc87f3513Jason Sams if ((v < 0) || (v > 0xff)) { 15645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams throw new IllegalArgumentException("Saving value out of range for type"); 15745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 15845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)v; 15945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 16045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 16145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addU16(int v) { 162baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 163baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addU16(v); 164baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 165baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 16645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams if ((v < 0) || (v > 0xffff)) { 16745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams android.util.Log.e("rs", "FieldPacker.addU16( " + v + " )"); 16845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams throw new IllegalArgumentException("Saving value out of range for type"); 16945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 17045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams align(2); 17145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)(v & 0xff); 17245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)(v >> 8); 17345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 17445d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 17545d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addU32(long v) { 176baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 177baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addU32(v); 178baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 179baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 18045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams if ((v < 0) || (v > 0xffffffffL)) { 18145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams android.util.Log.e("rs", "FieldPacker.addU32( " + v + " )"); 18245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams throw new IllegalArgumentException("Saving value out of range for type"); 18345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 18445d443665f5ce7efa934706a89883f0cc87f3513Jason Sams align(4); 18545d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)(v & 0xff); 18645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)((v >> 8) & 0xff); 18745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)((v >> 16) & 0xff); 18845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)((v >> 24) & 0xff); 18945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 19045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 19145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addU64(long v) { 192baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 193baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addU64(v); 194baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 195baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 19645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams if (v < 0) { 19745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams android.util.Log.e("rs", "FieldPacker.addU64( " + v + " )"); 19845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams throw new IllegalArgumentException("Saving value out of range for type"); 19945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 20045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams align(8); 20145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)(v & 0xff); 20245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)((v >> 8) & 0xff); 20345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)((v >> 16) & 0xff); 20445d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)((v >> 24) & 0xff); 20545d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)((v >> 32) & 0xff); 20645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)((v >> 40) & 0xff); 20745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)((v >> 48) & 0xff); 20845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams mData[mPos++] = (byte)((v >> 56) & 0xff); 20945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 21045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 21145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addF32(float v) { 212baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 213baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addF32(v); 214baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 215baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 21645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI32(Float.floatToRawIntBits(v)); 21745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 21845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 21945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addF64(double v) { 220baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 221baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addF64(v); 222baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 223baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 22445d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI64(Double.doubleToRawLongBits(v)); 22545d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 22645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 22745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addObj(BaseObj obj) { 228baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 229f30d838bc0cb870fe8d96dcbd313828b3e23d6a0Jason Sams if (obj != null) { 230f30d838bc0cb870fe8d96dcbd313828b3e23d6a0Jason Sams mN.addObj(obj.getNObj()); 231f30d838bc0cb870fe8d96dcbd313828b3e23d6a0Jason Sams } else { 232f30d838bc0cb870fe8d96dcbd313828b3e23d6a0Jason Sams mN.addObj(null); 233f30d838bc0cb870fe8d96dcbd313828b3e23d6a0Jason Sams } 234baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 235baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 23645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams if (obj != null) { 23745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI32(obj.getID(null)); 23845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } else { 23945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI32(0); 24045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 24145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 24245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 24345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addF32(Float2 v) { 244baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 245baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addF32(new android.renderscript.Float2(v.x, v.y)); 246baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 247baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 24845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addF32(v.x); 24945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addF32(v.y); 25045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 25145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addF32(Float3 v) { 252baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 253baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addF32(new android.renderscript.Float3(v.x, v.y, v.z)); 254baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 255baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 25645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addF32(v.x); 25745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addF32(v.y); 25845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addF32(v.z); 25945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 26045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addF32(Float4 v) { 261baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 262baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addF32(new android.renderscript.Float4(v.x, v.y, v.z, v.w)); 263baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 264baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 26545d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addF32(v.x); 26645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addF32(v.y); 26745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addF32(v.z); 26845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addF32(v.w); 26945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 27045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 27145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addF64(Double2 v) { 272baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 273baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addF64(new android.renderscript.Double2(v.x, v.y)); 274baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 275baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 27645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addF64(v.x); 27745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addF64(v.y); 27845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 27945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addF64(Double3 v) { 280baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 281baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addF64(new android.renderscript.Double3(v.x, v.y, v.z)); 282baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 283baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 28445d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addF64(v.x); 28545d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addF64(v.y); 28645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addF64(v.z); 28745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 28845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addF64(Double4 v) { 289baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 290baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addF64(new android.renderscript.Double4(v.x, v.y, v.z, v.w)); 291baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 292baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 29345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addF64(v.x); 29445d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addF64(v.y); 29545d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addF64(v.z); 29645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addF64(v.w); 29745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 29845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 29945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addI8(Byte2 v) { 300baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 301baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addI8(new android.renderscript.Byte2(v.x, v.y)); 302baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 303baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 30445d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI8(v.x); 30545d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI8(v.y); 30645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 30745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addI8(Byte3 v) { 308baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 309baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addI8(new android.renderscript.Byte3(v.x, v.y, v.z)); 310baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 311baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 31245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI8(v.x); 31345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI8(v.y); 31445d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI8(v.z); 31545d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 31645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addI8(Byte4 v) { 317baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 318baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addI8(new android.renderscript.Byte4(v.x, v.y, v.z, v.w)); 319baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 320baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 32145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI8(v.x); 32245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI8(v.y); 32345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI8(v.z); 32445d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI8(v.w); 32545d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 32645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 32745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addU8(Short2 v) { 328baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 329baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addU8(new android.renderscript.Short2(v.x, v.y)); 330baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 331baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 33245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU8(v.x); 33345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU8(v.y); 33445d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 33545d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addU8(Short3 v) { 336baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 337baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addU8(new android.renderscript.Short3(v.x, v.y, v.z)); 338baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 339baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 34045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU8(v.x); 34145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU8(v.y); 34245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU8(v.z); 34345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 34445d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addU8(Short4 v) { 345baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 346baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addU8(new android.renderscript.Short4(v.x, v.y, v.z, v.w)); 347baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 348baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 34945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU8(v.x); 35045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU8(v.y); 35145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU8(v.z); 35245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU8(v.w); 35345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 35445d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 35545d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addI16(Short2 v) { 356baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 357baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addI16(new android.renderscript.Short2(v.x, v.y)); 358baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 359baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 36045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI16(v.x); 36145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI16(v.y); 36245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 36345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addI16(Short3 v) { 364baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 365baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addI16(new android.renderscript.Short3(v.x, v.y, v.z)); 366baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 367baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 36845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI16(v.x); 36945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI16(v.y); 37045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI16(v.z); 37145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 37245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addI16(Short4 v) { 373baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 374baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addI16(new android.renderscript.Short4(v.x, v.y, v.z, v.w)); 375baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 376baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 37745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI16(v.x); 37845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI16(v.y); 37945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI16(v.z); 38045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI16(v.w); 38145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 38245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 38345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addU16(Int2 v) { 384baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 385baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addU16(new android.renderscript.Int2(v.x, v.y)); 386baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 387baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 38845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU16(v.x); 38945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU16(v.y); 39045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 39145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addU16(Int3 v) { 392baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 393baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addU16(new android.renderscript.Int3(v.x, v.y, v.z)); 394baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 395baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 39645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU16(v.x); 39745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU16(v.y); 39845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU16(v.z); 39945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 40045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addU16(Int4 v) { 401baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 402baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addU16(new android.renderscript.Int4(v.x, v.y, v.z, v.w)); 403baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 404baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 40545d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU16(v.x); 40645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU16(v.y); 40745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU16(v.z); 40845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU16(v.w); 40945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 41045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 41145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addI32(Int2 v) { 412baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 413baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addI32(new android.renderscript.Int2(v.x, v.y)); 414baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 415baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 41645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI32(v.x); 41745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI32(v.y); 41845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 41945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addI32(Int3 v) { 420baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 421baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addI32(new android.renderscript.Int3(v.x, v.y, v.z)); 422baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 423baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 42445d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI32(v.x); 42545d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI32(v.y); 42645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI32(v.z); 42745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 42845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addI32(Int4 v) { 429baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 430baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addI32(new android.renderscript.Int4(v.x, v.y, v.z, v.w)); 431baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 432baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 43345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI32(v.x); 43445d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI32(v.y); 43545d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI32(v.z); 43645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI32(v.w); 43745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 43845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 43945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addU32(Long2 v) { 440baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 441baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addU32(new android.renderscript.Long2(v.x, v.y)); 442baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 443baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 44445d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU32(v.x); 44545d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU32(v.y); 44645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 44745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addU32(Long3 v) { 448baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 449baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addU32(new android.renderscript.Long3(v.x, v.y, v.z)); 450baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 451baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 45245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU32(v.x); 45345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU32(v.y); 45445d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU32(v.z); 45545d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 45645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addU32(Long4 v) { 457baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 458baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addU32(new android.renderscript.Long4(v.x, v.y, v.z, v.w)); 459baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 460baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 46145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU32(v.x); 46245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU32(v.y); 46345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU32(v.z); 46445d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU32(v.w); 46545d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 46645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 46745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addI64(Long2 v) { 468baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 469baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addI64(new android.renderscript.Long2(v.x, v.y)); 470baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 471baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 47245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI64(v.x); 47345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI64(v.y); 47445d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 47545d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addI64(Long3 v) { 476baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 477baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addI64(new android.renderscript.Long3(v.x, v.y, v.z)); 478baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 479baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 48045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI64(v.x); 48145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI64(v.y); 48245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI64(v.z); 48345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 48445d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addI64(Long4 v) { 485baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 486baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addI64(new android.renderscript.Long4(v.x, v.y, v.z, v.w)); 487baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 488baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 48945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI64(v.x); 49045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI64(v.y); 49145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI64(v.z); 49245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI64(v.w); 49345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 49445d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 49545d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addU64(Long2 v) { 496baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 497baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addU64(new android.renderscript.Long2(v.x, v.y)); 498baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 499baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 50045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU64(v.x); 50145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU64(v.y); 50245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 50345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addU64(Long3 v) { 504baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 505baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addU64(new android.renderscript.Long3(v.x, v.y, v.z)); 506baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 507baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 50845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU64(v.x); 50945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU64(v.y); 51045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU64(v.z); 51145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 51245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addU64(Long4 v) { 513baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 514baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addU64(new android.renderscript.Long4(v.x, v.y, v.z, v.w)); 515baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 516baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 51745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU64(v.x); 51845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU64(v.y); 51945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU64(v.z); 52045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addU64(v.w); 52145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 52245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 52345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addMatrix(Matrix4f v) { 524baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 525baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addMatrix(new android.renderscript.Matrix4f(v.getArray())); 526baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 527baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 52845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams for (int i=0; i < v.mMat.length; i++) { 52945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addF32(v.mMat[i]); 53045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 53145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 53245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 53345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addMatrix(Matrix3f v) { 534baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 535baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addMatrix(new android.renderscript.Matrix3f(v.getArray())); 536baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 537baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 53845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams for (int i=0; i < v.mMat.length; i++) { 53945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addF32(v.mMat[i]); 54045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 54145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 54245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 54345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addMatrix(Matrix2f v) { 544baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 545baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addMatrix(new android.renderscript.Matrix2f(v.getArray())); 546baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 547baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 54845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams for (int i=0; i < v.mMat.length; i++) { 54945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addF32(v.mMat[i]); 55045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 55145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 55245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 55345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public void addBoolean(boolean v) { 554baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 555baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray mN.addBoolean(v); 556baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return; 557baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 55845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams addI8((byte)(v ? 1 : 0)); 55945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 56045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 56145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams public final byte[] getData() { 562baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray if (shouldThunk()) { 563baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray return mN.getData(); 564baf4b4a16ff2ab85653438b93db9af03d4375f2dTim Murray } 56545d443665f5ce7efa934706a89883f0cc87f3513Jason Sams return mData; 56645d443665f5ce7efa934706a89883f0cc87f3513Jason Sams } 56745d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 56845d443665f5ce7efa934706a89883f0cc87f3513Jason Sams private final byte mData[]; 56945d443665f5ce7efa934706a89883f0cc87f3513Jason Sams private int mPos; 57045d443665f5ce7efa934706a89883f0cc87f3513Jason Sams private int mLen; 57145d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 57245d443665f5ce7efa934706a89883f0cc87f3513Jason Sams} 57345d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 57445d443665f5ce7efa934706a89883f0cc87f3513Jason Sams 575