1eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray/* 2eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray * Copyright (C) 2012 The Android Open Source Project 3eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray * 4eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray * Licensed under the Apache License, Version 2.0 (the "License"); 5eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray * you may not use this file except in compliance with the License. 6eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray * You may obtain a copy of the License at 7eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray * 8eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray * http://www.apache.org/licenses/LICENSE-2.0 9eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray * 10eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray * Unless required by applicable law or agreed to in writing, software 11eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray * distributed under the License is distributed on an "AS IS" BASIS, 12eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray * See the License for the specific language governing permissions and 14eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray * limitations under the License. 15eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray */ 16eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 17eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murraypackage android.support.v8.renderscript; 18eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 19eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murrayimport android.support.v8.renderscript.RenderScript; 20eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 21eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray/** 22eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray * Utility class for packing arguments and structures from Android system objects to 23eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray * RenderScript objects. 24eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray * 25eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray * This class is only intended to be used to support the 26eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray * reflected code generated by the RS tool chain. It should not 27eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray * be called directly. 28eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray * 29eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray **/ 30eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murraypublic class FieldPackerThunker { 31eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray private android.renderscript.FieldPacker mN; 3295730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines private int mPos; 33eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 34eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public FieldPackerThunker(int len) { 35eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN = new android.renderscript.FieldPacker(len); 3695730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos = 0; 37eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 38eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 39eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray void align(int v) { 40eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.align(v); 4195730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines while ((mPos & (v - 1)) != 0) { 4295730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos++; 4395730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines } 44eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 45eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 46eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray void reset() { 47eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.reset(); 4895730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos = 0; 49eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 50eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 51eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray void reset(int i) { 52eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.reset(i); 5395730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos = i; 54eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 55eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 56eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void skip(int i) { 57eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.skip(i); 5895730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += i; 59eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 60eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 61eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addI8(byte v) { 62eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addI8(v); 6395730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos++; 64eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 65eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 66eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addI16(short v) { 67eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addI16(v); 6895730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 2; 69eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 70eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 71eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addI32(int v) { 72eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addI32(v); 7395730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 4; 74eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 75eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 76eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addI64(long v) { 77eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addI64(v); 7895730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 8; 79eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 80eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 81eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addU8(short v) { 82eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addU8(v); 8395730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos++; 84eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 85eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 86eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addU16(int v) { 87eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addU16(v); 8895730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 2; 89eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 90eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 91eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addU32(long v) { 92eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addU32(v); 9395730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 4; 94eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 95eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 96eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addU64(long v) { 97eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addU64(v); 9895730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 8; 99eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 100eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 101eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addF32(float v) { 102eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addF32(v); 10395730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 4; 104eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 105eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 106eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addF64(double v) { 107eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addF64(v); 10895730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 8; 109eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 110eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 111eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addObj(BaseObj obj) { 112eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray if (obj != null) { 113eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addObj(obj.getNObj()); 114eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } else { 115eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addObj(null); 116eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 11795730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 4; // Compat lib only works in 32-bit mode, so objects are 4 bytes. 118eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 119eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 120eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addF32(Float2 v) { 121eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addF32(new android.renderscript.Float2(v.x, v.y)); 12295730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 8; 123eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 124eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addF32(Float3 v) { 125eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addF32(new android.renderscript.Float3(v.x, v.y, v.z)); 12695730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 12; 127eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 128eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addF32(Float4 v) { 129eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addF32(new android.renderscript.Float4(v.x, v.y, v.z, v.w)); 13095730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 16; 131eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 132eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 133eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addF64(Double2 v) { 134eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addF64(new android.renderscript.Double2(v.x, v.y)); 13595730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 16; 136eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 137eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addF64(Double3 v) { 138eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addF64(new android.renderscript.Double3(v.x, v.y, v.z)); 13995730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 24; 140eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 141eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addF64(Double4 v) { 142eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addF64(new android.renderscript.Double4(v.x, v.y, v.z, v.w)); 14395730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 32; 144eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 145eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 146eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addI8(Byte2 v) { 147eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addI8(new android.renderscript.Byte2(v.x, v.y)); 14895730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 2; 149eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 150eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addI8(Byte3 v) { 151eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addI8(new android.renderscript.Byte3(v.x, v.y, v.z)); 15295730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 3; 153eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 154eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addI8(Byte4 v) { 155eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addI8(new android.renderscript.Byte4(v.x, v.y, v.z, v.w)); 15695730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 4; 157eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 158eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 159eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addU8(Short2 v) { 160eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addU8(new android.renderscript.Short2(v.x, v.y)); 16195730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 2; 162eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 163eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addU8(Short3 v) { 164eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addU8(new android.renderscript.Short3(v.x, v.y, v.z)); 16595730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 3; 166eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 167eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addU8(Short4 v) { 168eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addU8(new android.renderscript.Short4(v.x, v.y, v.z, v.w)); 16995730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 4; 170eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 171eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 172eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addI16(Short2 v) { 173eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addI16(new android.renderscript.Short2(v.x, v.y)); 17495730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 4; 175eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 176eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addI16(Short3 v) { 177eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addI16(new android.renderscript.Short3(v.x, v.y, v.z)); 17895730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 6; 179eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 180eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addI16(Short4 v) { 181eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addI16(new android.renderscript.Short4(v.x, v.y, v.z, v.w)); 18295730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 8; 183eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 184eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 185eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addU16(Int2 v) { 186eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addU16(new android.renderscript.Int2(v.x, v.y)); 18795730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 4; 188eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 189eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addU16(Int3 v) { 190eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addU16(new android.renderscript.Int3(v.x, v.y, v.z)); 19195730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 6; 192eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 193eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addU16(Int4 v) { 194eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addU16(new android.renderscript.Int4(v.x, v.y, v.z, v.w)); 19595730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 8; 196eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 197eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 198eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addI32(Int2 v) { 199eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addI32(new android.renderscript.Int2(v.x, v.y)); 20095730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 8; 201eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 202eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addI32(Int3 v) { 203eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addI32(new android.renderscript.Int3(v.x, v.y, v.z)); 20495730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 12; 205eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 206eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addI32(Int4 v) { 207eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addI32(new android.renderscript.Int4(v.x, v.y, v.z, v.w)); 20895730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 16; 209eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 210eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 211eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addU32(Long2 v) { 212eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addU32(new android.renderscript.Long2(v.x, v.y)); 21395730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 8; 214eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 215eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addU32(Long3 v) { 216eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addU32(new android.renderscript.Long3(v.x, v.y, v.z)); 21795730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 12; 218eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 219eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addU32(Long4 v) { 220eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addU32(new android.renderscript.Long4(v.x, v.y, v.z, v.w)); 22195730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 16; 222eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 223eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 224eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addI64(Long2 v) { 225eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addI64(new android.renderscript.Long2(v.x, v.y)); 22695730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 16; 227eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 228eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addI64(Long3 v) { 229eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addI64(new android.renderscript.Long3(v.x, v.y, v.z)); 23095730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 24; 231eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 232eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addI64(Long4 v) { 233eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addI64(new android.renderscript.Long4(v.x, v.y, v.z, v.w)); 23495730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 32; 235eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 236eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 237eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addU64(Long2 v) { 238eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addU64(new android.renderscript.Long2(v.x, v.y)); 23995730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 16; 240eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 241eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addU64(Long3 v) { 242eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addU64(new android.renderscript.Long3(v.x, v.y, v.z)); 24395730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 24; 244eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 245eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addU64(Long4 v) { 246eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addU64(new android.renderscript.Long4(v.x, v.y, v.z, v.w)); 24795730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += 32; 248eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 249eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 250eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addMatrix(Matrix4f v) { 251eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addMatrix(new android.renderscript.Matrix4f(v.getArray())); 25295730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += (4 * 4 * 4); 253eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 254eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 255eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addMatrix(Matrix3f v) { 256eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addMatrix(new android.renderscript.Matrix3f(v.getArray())); 25795730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += (3 * 3 * 4); 258eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 259eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 260eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addMatrix(Matrix2f v) { 261eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addMatrix(new android.renderscript.Matrix2f(v.getArray())); 26295730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos += (2 * 2 * 4); 263eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 264eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 265eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public void addBoolean(boolean v) { 266eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray mN.addBoolean(v); 26795730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines mPos++; 268eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 269eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 270eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray public final byte[] getData() { 271eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray return mN.getData(); 272eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray } 27395730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines 27495730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines // We must compute our own mPos, since this API is not available in older target APIs. 27595730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines public int getPos() { 27695730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines return mPos; 27795730ed847182c0b424f87d14d4ce276496dfa66Stephen Hines } 278eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray} 279eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 280eeb3042428fbe3a3cace554d3aca43b324904ad1Tim Murray 281