Code cleanup possible with new reflected classes.
Change-Id: If9e79383722c0df997526717c52ded4921b6663e
diff --git a/res/raw/allapps.rs b/res/raw/allapps.rs
index d947613..1465308 100644
--- a/res/raw/allapps.rs
+++ b/res/raw/allapps.rs
@@ -14,15 +14,10 @@
int COLUMNS_PER_PAGE_LANDSCAPE;
int ROWS_PER_PAGE_LANDSCAPE;
-float gNewPositionX;
-int gNewTouchDown;
-float gFlingVelocity;
int gIconCount;
int gSelectedIconIndex = -1;
rs_allocation gSelectedIconTexture;
-float gZoomTarget;
rs_allocation gHomeButton;
-float gTargetPos;
rs_program_fragment gPFTexNearest;
rs_program_fragment gPFTexMip;
@@ -43,13 +38,8 @@
VpConsts_t *vpConstants;
-#pragma rs export_var(COLUMNS_PER_PAGE_PORTRAIT, ROWS_PER_PAGE_PORTRAIT, COLUMNS_PER_PAGE_LANDSCAPE, ROWS_PER_PAGE_LANDSCAPE, gNewPositionX, gNewTouchDown, gFlingVelocity, gIconCount, gSelectedIconIndex, gSelectedIconTexture, gZoomTarget, gHomeButton, gTargetPos, gPFTexNearest, gPFTexMip, gPFTexMipAlpha, gPVCurve, gPS, gSMCell, gIconIDs, gLabelIDs, vpConstants)
-#pragma rs export_func(resetHWWar, move, moveTo, setZoom, fling)
-
-
-void debugAll()
-{
-}
+#pragma rs export_var(COLUMNS_PER_PAGE_PORTRAIT, ROWS_PER_PAGE_PORTRAIT, COLUMNS_PER_PAGE_LANDSCAPE, ROWS_PER_PAGE_LANDSCAPE, gIconCount, gSelectedIconIndex, gSelectedIconTexture, gHomeButton, gTargetPos, gPFTexNearest, gPFTexMip, gPFTexMipAlpha, gPVCurve, gPS, gSMCell, gIconIDs, gLabelIDs, vpConstants)
+#pragma rs export_func(move, moveTo, setZoom, fling)
// Attraction to center values from page edge to page center.
@@ -57,10 +47,12 @@
static float g_FrictionTable[9] = {10.f, 10.f, 11.f, 15.f, 15.f, 11.f, 10.f, 10.f, 10.f};
static float g_PhysicsTableSize = 7;
+static float gZoomTarget;
+static float gTargetPos;
static float g_PosPage = 0.f;
static float g_PosVelocity = 0.f;
static float g_LastPositionX = 0.f;
-static int g_LastTouchDown = 0;
+static bool g_LastTouchDown = false;
static float g_DT;
static int64_t g_LastTime;
static int g_PosMax;
@@ -79,14 +71,6 @@
// Drawing constants, should be parameters ======
#define VIEW_ANGLE 1.28700222f
-static int g_DrawLastFrame;
-static int lastFrame(int draw) {
- // We draw one extra frame to work around the last frame post bug.
- // We also need to track if we drew the last frame to deal with large DT
- // in the physics.
- g_DrawLastFrame = draw;
- return draw;
-}
static void updateReadback() {
if ((g_OldPosPage != g_PosPage) ||
@@ -105,16 +89,12 @@
}
}
-void setColor(float r, float g, float b, float a) {
-}
void init() {
}
-void resetHWWar() {
-}
-void move() {
+void move(float newPos) {
if (g_LastTouchDown) {
- float dx = -(gNewPositionX - g_LastPositionX);
+ float dx = -(newPos - g_LastPositionX);
g_PosVelocity = 0;
g_PosPage += dx * 5.2f;
@@ -122,26 +102,34 @@
float pmax = g_PosMax + 0.49f;
g_PosPage = clamp(g_PosPage, pmin, pmax);
}
- g_LastTouchDown = gNewTouchDown;
- g_LastPositionX = gNewPositionX;
+ g_LastTouchDown = true;
+ g_LastPositionX = newPos;
g_MoveToTime = 0;
}
-void moveTo() {
+void moveTo(float targetPos) {
+ gTargetPos = targetPos;
g_MoveToTime = g_MoveToTotalTime;
g_PosVelocity = 0;
g_MoveToOldPos = g_PosPage;
}
-void setZoom() {
- g_Zoom = gZoomTarget;
- g_DrawLastFrame = 1;
+void setZoom(float z, /*bool*/ int animate) {
+ gZoomTarget = z;
+ if (gZoomTarget < 0.001f) {
+ gZoomTarget = 0;
+ }
+ if (!animate) {
+ g_Zoom = gZoomTarget;
+ }
updateReadback();
}
-void fling() {
- g_LastTouchDown = 0;
- g_PosVelocity = -gFlingVelocity * 4;
+void fling(float newPos, float vel) {
+ move(newPos);
+
+ g_LastTouchDown = false;
+ g_PosVelocity = -vel * 4;
float av = fabs(g_PosVelocity);
float minVel = 3.5f;
@@ -347,13 +335,8 @@
g_DT = (newTime - g_LastTime) * 0.001f;
g_LastTime = newTime;
- if (!g_DrawLastFrame) {
- // If we stopped rendering we cannot use DT.
- // assume 30fps in this case.
- g_DT = 0.033f;
- }
// physics may break if DT is large.
- g_DT = min(g_DT, 0.2f);
+ g_DT = min(g_DT, 0.1f);
if (g_Zoom != gZoomTarget) {
float dz = g_DT * 1.7f;
@@ -376,7 +359,7 @@
if (!g_LastTouchDown) {
g_PosPage = 0;
}
- return lastFrame(0);
+ return 0;
} else {
rsgClearColor(0.0f, 0.0f, 0.0f, g_Zoom);
}
@@ -403,7 +386,7 @@
rsgBindProgramFragment(gPFTexNearest);
draw_home_button();
- return lastFrame((g_PosVelocity != 0) || rsFrac(g_PosPage) || g_Zoom != gZoomTarget || (g_MoveToTime != 0));
+ return (g_PosVelocity != 0) || rsFrac(g_PosPage) || g_Zoom != gZoomTarget || (g_MoveToTime != 0);
}
diff --git a/res/raw/allapps_bc.bc b/res/raw/allapps_bc.bc
index 3835d7d..59b0afb 100644
--- a/res/raw/allapps_bc.bc
+++ b/res/raw/allapps_bc.bc
Binary files differ
diff --git a/src/com/android/launcher2/AllApps3D.java b/src/com/android/launcher2/AllApps3D.java
index 85dd750..4a2dc49 100644
--- a/src/com/android/launcher2/AllApps3D.java
+++ b/src/com/android/launcher2/AllApps3D.java
@@ -268,19 +268,19 @@
}
if (sRollo.mUniformAlloc != null) {
- float tf[] = new float[] {120.f, 120.f, 0.f, 0.f,
- (2.f / 480.f), 0, -((float)w / 2) - 0.25f, -380.25f,
- 120.f, 680.f,
- 72.f, 72.f,};
+ ScriptField_VpConsts.Item i = new ScriptField_VpConsts.Item();
+ i.ScaleOffset.x = (2.f / 480.f);
+ i.ScaleOffset.y = 0;
+ i.ScaleOffset.z = -((float)w / 2) - 0.25f;
+ i.ScaleOffset.w = -380.25f;
+ i.BendPos.x = 120.f;
+ i.BendPos.y = 680.f;
if (w > h) {
- tf[6] = 40.f;
- tf[7] = h - 40.f;
- tf[9] = 1.f;
- tf[10] = -((float)w / 2) - 0.25f;
- tf[11] = -((float)h / 2) - 0.25f;
+ i.ScaleOffset.z = 40.f;
+ i.ScaleOffset.w = h - 40.f;
+ i.BendPos.y = 1.f;
}
-
- sRollo.mUniformAlloc.getAllocation().data(tf);
+ sRollo.mUniformAlloc.set(i, 0, true);
}
//long endTime = SystemClock.uptimeMillis();
@@ -601,9 +601,6 @@
mMotionDownRawX = (int)ev.getRawX();
mMotionDownRawY = (int)ev.getRawY();
- sRollo.mScript.set_gNewPositionX(ev.getRawY() / getHeight());
- sRollo.mScript.set_gNewTouchDown(1);
-
if (!sRollo.checkClickOK()) {
sRollo.clearSelectedIcon();
} else {
@@ -614,7 +611,7 @@
cancelLongPress();
}
}
- sRollo.move();
+ sRollo.move(ev.getRawY() / getHeight());
mVelocityTracker = VelocityTracker.obtain();
mVelocityTracker.addMovement(ev);
mStartedScrolling = false;
@@ -647,9 +644,7 @@
cancelLongPress();
mCurrentIconIndex = -1;
}
- sRollo.mScript.set_gNewPositionX(ev.getRawY() / getHeight());
- sRollo.mScript.set_gNewTouchDown(1);
- sRollo.move();
+ sRollo.move(ev.getRawY() / getHeight());
mStartedScrolling = true;
sRollo.clearSelectedIcon();
@@ -670,14 +665,10 @@
}
mCurrentIconIndex = -1;
} else if (mTouchTracking == TRACKING_FLING) {
- sRollo.mScript.set_gNewTouchDown(0);
- sRollo.mScript.set_gNewPositionX(ev.getRawY() / getHeight());
-
mVelocityTracker.computeCurrentVelocity(1000 /* px/sec */, mMaxFlingVelocity);
- sRollo.mScript.set_gFlingVelocity(mVelocityTracker.getYVelocity() / getHeight());
sRollo.clearSelectedIcon();
- sRollo.move();
- sRollo.fling();
+ sRollo.fling(ev.getRawY() / getHeight(),
+ mVelocityTracker.getYVelocity() / getHeight());
if (mVelocityTracker != null) {
mVelocityTracker.recycle();
@@ -923,17 +914,6 @@
return -1;
}
- /*
- private static int countPages(int iconCount) {
- int iconsPerPage = getColumnsCount() * Defines.ROWS_PER_PAGE_PORTRAIT;
- int pages = iconCount / iconsPerPage;
- if (pages*iconsPerPage != iconCount) {
- pages++;
- }
- return pages;
- }
- */
-
class AAMessage extends RenderScript.RSMessage {
public void run() {
sRollo.mScrollPos = ((float)mData[0]) / (1 << 16);
@@ -967,12 +947,6 @@
private Resources mRes;
ScriptC_Allapps mScript;
- //private ProgramStore mPSIcons;
- private ProgramFragment mPFTexMip;
- private ProgramFragment mPFTexMipAlpha;
- private ProgramFragment mPFTexNearest;
- private ProgramVertex mPV;
- private ProgramVertex mPVCurve;
private SimpleMesh mMesh;
private ProgramVertex.MatrixAllocation mPVA;
@@ -989,7 +963,6 @@
private Allocation[] mLabels;
private int[] mLabelIds;
private Allocation mAllocLabelIds;
- private Allocation mSelectedIcon;
private Bitmap mSelectionBitmap;
private Canvas mSelectionCanvas;
@@ -1074,8 +1047,9 @@
ProgramVertex.Builder pvb = new ProgramVertex.Builder(sRS, null, null);
pvb.setTextureMatrixEnable(true);
- mPV = pvb.create();
- mPV.bindAllocation(mPVA);
+ ProgramVertex pv = pvb.create();
+ pv.bindAllocation(mPVA);
+ sRS.contextBindProgramVertex(pv);
mUniformAlloc = new ScriptField_VpConsts(sRS, 1);
mScript.bind_vpConstants(mUniformAlloc);
@@ -1141,12 +1115,11 @@
sb.setShader(t);
sb.addConstant(mUniformAlloc.getType());
sb.addInput(mMesh.getVertexType(0).getElement());
- mPVCurve = sb.create();
- mPVCurve.bindAllocation(mPVA);
- mPVCurve.bindConstants(mUniformAlloc.getAllocation(), 1);
+ ProgramVertex pvc = sb.create();
+ pvc.bindAllocation(mPVA);
+ pvc.bindConstants(mUniformAlloc.getAllocation(), 1);
- sRS.contextBindProgramVertex(mPV);
- mScript.set_gPVCurve(mPVCurve);
+ mScript.set_gPVCurve(pvc);
}
private void initProgramFragment() {
@@ -1164,20 +1137,20 @@
ProgramFragment.Builder bf = new ProgramFragment.Builder(sRS);
bf.setTexture(ProgramFragment.Builder.EnvMode.MODULATE,
ProgramFragment.Builder.Format.RGBA, 0);
- mPFTexMip = bf.create();
- mPFTexMip.bindSampler(linear, 0);
+ ProgramFragment pfTexMip = bf.create();
+ pfTexMip.bindSampler(linear, 0);
- mPFTexNearest = bf.create();
- mPFTexNearest.bindSampler(nearest, 0);
+ ProgramFragment pfTexNearest = bf.create();
+ pfTexNearest.bindSampler(nearest, 0);
bf.setTexture(ProgramFragment.Builder.EnvMode.MODULATE,
ProgramFragment.Builder.Format.ALPHA, 0);
- mPFTexMipAlpha = bf.create();
- mPFTexMipAlpha.bindSampler(linear, 0);
+ ProgramFragment pfTexMipAlpha = bf.create();
+ pfTexMipAlpha.bindSampler(linear, 0);
- mScript.set_gPFTexNearest(mPFTexNearest);
- mScript.set_gPFTexMip(mPFTexMip);
- mScript.set_gPFTexMipAlpha(mPFTexMipAlpha);
+ mScript.set_gPFTexNearest(pfTexNearest);
+ mScript.set_gPFTexMip(pfTexMip);
+ mScript.set_gPFTexMipAlpha(pfTexMipAlpha);
}
private void initProgramStore() {
@@ -1258,14 +1231,7 @@
sRollo.clearSelectedIcon();
sRollo.setHomeSelected(SELECTED_NONE);
}
- if (zoom > 0.001f) {
- sRollo.mScript.set_gZoomTarget(zoom);
- } else {
- sRollo.mScript.set_gZoomTarget(0);
- }
- if (!animate) {
- sRollo.mScript.invoke_setZoom();
- }
+ sRollo.mScript.invoke_setZoom(zoom, animate ? 1 : 0);
}
private void createAppIconAllocations(int index, ApplicationInfo item) {
@@ -1367,17 +1333,16 @@
}
}
- void fling() {
- mScript.invoke_fling();
+ void fling(float pos, float v) {
+ mScript.invoke_fling(pos, v);
}
- void move() {
- mScript.invoke_move();
+ void move(float pos) {
+ mScript.invoke_move(pos);
}
void moveTo(float row) {
- mScript.set_gTargetPos(row);
- mScript.invoke_moveTo();
+ mScript.invoke_moveTo(row);
}
/**
@@ -1426,10 +1391,10 @@
selectionBitmap.getWidth(), selectionBitmap.getHeight(),
pressed == SELECTED_PRESSED, info.iconBitmap);
- mSelectedIcon = Allocation.createFromBitmap(sRS, selectionBitmap,
+ Allocation si = Allocation.createFromBitmap(sRS, selectionBitmap,
Element.RGBA_8888(sRS), false);
- mSelectedIcon.uploadToTexture(0);
- mScript.set_gSelectedIconTexture(mSelectedIcon);
+ si.uploadToTexture(0);
+ mScript.set_gSelectedIconTexture(si);
if (prev != index) {
if (info.title != null && info.title.length() > 0) {
diff --git a/src/com/android/launcher2/ScriptC_Allapps.java b/src/com/android/launcher2/ScriptC_Allapps.java
index 55e3df0..aeb1c26 100644
--- a/src/com/android/launcher2/ScriptC_Allapps.java
+++ b/src/com/android/launcher2/ScriptC_Allapps.java
@@ -70,40 +70,7 @@
return mExportVar_ROWS_PER_PAGE_LANDSCAPE;
}
- private final static int mExportVarIdx_gNewPositionX = 4;
- private float mExportVar_gNewPositionX;
- public void set_gNewPositionX(float v) {
- mExportVar_gNewPositionX = v;
- setVar(mExportVarIdx_gNewPositionX, v);
- }
-
- public float get_gNewPositionX() {
- return mExportVar_gNewPositionX;
- }
-
- private final static int mExportVarIdx_gNewTouchDown = 5;
- private int mExportVar_gNewTouchDown;
- public void set_gNewTouchDown(int v) {
- mExportVar_gNewTouchDown = v;
- setVar(mExportVarIdx_gNewTouchDown, v);
- }
-
- public int get_gNewTouchDown() {
- return mExportVar_gNewTouchDown;
- }
-
- private final static int mExportVarIdx_gFlingVelocity = 6;
- private float mExportVar_gFlingVelocity;
- public void set_gFlingVelocity(float v) {
- mExportVar_gFlingVelocity = v;
- setVar(mExportVarIdx_gFlingVelocity, v);
- }
-
- public float get_gFlingVelocity() {
- return mExportVar_gFlingVelocity;
- }
-
- private final static int mExportVarIdx_gIconCount = 7;
+ private final static int mExportVarIdx_gIconCount = 4;
private int mExportVar_gIconCount;
public void set_gIconCount(int v) {
mExportVar_gIconCount = v;
@@ -114,7 +81,7 @@
return mExportVar_gIconCount;
}
- private final static int mExportVarIdx_gSelectedIconIndex = 8;
+ private final static int mExportVarIdx_gSelectedIconIndex = 5;
private int mExportVar_gSelectedIconIndex;
public void set_gSelectedIconIndex(int v) {
mExportVar_gSelectedIconIndex = v;
@@ -125,7 +92,7 @@
return mExportVar_gSelectedIconIndex;
}
- private final static int mExportVarIdx_gSelectedIconTexture = 9;
+ private final static int mExportVarIdx_gSelectedIconTexture = 6;
private Allocation mExportVar_gSelectedIconTexture;
public void set_gSelectedIconTexture(Allocation v) {
mExportVar_gSelectedIconTexture = v;
@@ -136,18 +103,7 @@
return mExportVar_gSelectedIconTexture;
}
- private final static int mExportVarIdx_gZoomTarget = 10;
- private float mExportVar_gZoomTarget;
- public void set_gZoomTarget(float v) {
- mExportVar_gZoomTarget = v;
- setVar(mExportVarIdx_gZoomTarget, v);
- }
-
- public float get_gZoomTarget() {
- return mExportVar_gZoomTarget;
- }
-
- private final static int mExportVarIdx_gHomeButton = 11;
+ private final static int mExportVarIdx_gHomeButton = 7;
private Allocation mExportVar_gHomeButton;
public void set_gHomeButton(Allocation v) {
mExportVar_gHomeButton = v;
@@ -158,18 +114,7 @@
return mExportVar_gHomeButton;
}
- private final static int mExportVarIdx_gTargetPos = 12;
- private float mExportVar_gTargetPos;
- public void set_gTargetPos(float v) {
- mExportVar_gTargetPos = v;
- setVar(mExportVarIdx_gTargetPos, v);
- }
-
- public float get_gTargetPos() {
- return mExportVar_gTargetPos;
- }
-
- private final static int mExportVarIdx_gPFTexNearest = 13;
+ private final static int mExportVarIdx_gPFTexNearest = 8;
private ProgramFragment mExportVar_gPFTexNearest;
public void set_gPFTexNearest(ProgramFragment v) {
mExportVar_gPFTexNearest = v;
@@ -180,7 +125,7 @@
return mExportVar_gPFTexNearest;
}
- private final static int mExportVarIdx_gPFTexMip = 14;
+ private final static int mExportVarIdx_gPFTexMip = 9;
private ProgramFragment mExportVar_gPFTexMip;
public void set_gPFTexMip(ProgramFragment v) {
mExportVar_gPFTexMip = v;
@@ -191,7 +136,7 @@
return mExportVar_gPFTexMip;
}
- private final static int mExportVarIdx_gPFTexMipAlpha = 15;
+ private final static int mExportVarIdx_gPFTexMipAlpha = 10;
private ProgramFragment mExportVar_gPFTexMipAlpha;
public void set_gPFTexMipAlpha(ProgramFragment v) {
mExportVar_gPFTexMipAlpha = v;
@@ -202,7 +147,7 @@
return mExportVar_gPFTexMipAlpha;
}
- private final static int mExportVarIdx_gPVCurve = 16;
+ private final static int mExportVarIdx_gPVCurve = 11;
private ProgramVertex mExportVar_gPVCurve;
public void set_gPVCurve(ProgramVertex v) {
mExportVar_gPVCurve = v;
@@ -213,7 +158,7 @@
return mExportVar_gPVCurve;
}
- private final static int mExportVarIdx_gPS = 17;
+ private final static int mExportVarIdx_gPS = 12;
private ProgramStore mExportVar_gPS;
public void set_gPS(ProgramStore v) {
mExportVar_gPS = v;
@@ -224,7 +169,7 @@
return mExportVar_gPS;
}
- private final static int mExportVarIdx_gSMCell = 18;
+ private final static int mExportVarIdx_gSMCell = 13;
private SimpleMesh mExportVar_gSMCell;
public void set_gSMCell(SimpleMesh v) {
mExportVar_gSMCell = v;
@@ -235,7 +180,7 @@
return mExportVar_gSMCell;
}
- private final static int mExportVarIdx_gIconIDs = 19;
+ private final static int mExportVarIdx_gIconIDs = 14;
private Allocation mExportVar_gIconIDs;
public void bind_gIconIDs(Allocation v) {
mExportVar_gIconIDs = v;
@@ -247,7 +192,7 @@
return mExportVar_gIconIDs;
}
- private final static int mExportVarIdx_gLabelIDs = 20;
+ private final static int mExportVarIdx_gLabelIDs = 15;
private Allocation mExportVar_gLabelIDs;
public void bind_gLabelIDs(Allocation v) {
mExportVar_gLabelIDs = v;
@@ -259,7 +204,7 @@
return mExportVar_gLabelIDs;
}
- private final static int mExportVarIdx_vpConstants = 21;
+ private final static int mExportVarIdx_vpConstants = 16;
private ScriptField_VpConsts mExportVar_vpConstants;
public void bind_vpConstants(ScriptField_VpConsts v) {
mExportVar_vpConstants = v;
@@ -271,29 +216,45 @@
return mExportVar_vpConstants;
}
- private final static int mExportFuncIdx_resetHWWar = 0;
- public void invoke_resetHWWar() {
- invoke(mExportFuncIdx_resetHWWar);
+ private final static int mExportVarIdx_gTargetPos = 17;
+ private float mExportVar_gTargetPos;
+ public void set_gTargetPos(float v) {
+ mExportVar_gTargetPos = v;
+ setVar(mExportVarIdx_gTargetPos, v);
}
- private final static int mExportFuncIdx_move = 1;
- public void invoke_move() {
- invoke(mExportFuncIdx_move);
+ public float get_gTargetPos() {
+ return mExportVar_gTargetPos;
}
- private final static int mExportFuncIdx_moveTo = 2;
- public void invoke_moveTo() {
- invoke(mExportFuncIdx_moveTo);
+ private final static int mExportFuncIdx_move = 0;
+ public void invoke_move(float newPos) {
+ FieldPacker move_fp = new FieldPacker(4);
+ move_fp.addF32(newPos);
+ invoke(mExportFuncIdx_move, move_fp);
}
- private final static int mExportFuncIdx_setZoom = 3;
- public void invoke_setZoom() {
- invoke(mExportFuncIdx_setZoom);
+ private final static int mExportFuncIdx_moveTo = 1;
+ public void invoke_moveTo(float targetPos) {
+ FieldPacker moveTo_fp = new FieldPacker(4);
+ moveTo_fp.addF32(targetPos);
+ invoke(mExportFuncIdx_moveTo, moveTo_fp);
}
- private final static int mExportFuncIdx_fling = 4;
- public void invoke_fling() {
- invoke(mExportFuncIdx_fling);
+ private final static int mExportFuncIdx_setZoom = 2;
+ public void invoke_setZoom(float z, int animate) {
+ FieldPacker setZoom_fp = new FieldPacker(8);
+ setZoom_fp.addF32(z);
+ setZoom_fp.addI32(animate);
+ invoke(mExportFuncIdx_setZoom, setZoom_fp);
+ }
+
+ private final static int mExportFuncIdx_fling = 3;
+ public void invoke_fling(float newPos, float vel) {
+ FieldPacker fling_fp = new FieldPacker(8);
+ fling_fp.addF32(newPos);
+ fling_fp.addF32(vel);
+ invoke(mExportFuncIdx_fling, fling_fp);
}
}
diff --git a/src/com/android/launcher2/ScriptField_VpConsts.java b/src/com/android/launcher2/ScriptField_VpConsts.java
index f3ef684..b5e41b7 100644
--- a/src/com/android/launcher2/ScriptField_VpConsts.java
+++ b/src/com/android/launcher2/ScriptField_VpConsts.java
@@ -69,7 +69,7 @@
mItemArray[index] = i;
if (copyNow) {
copyToArray(i, index);
- mAllocation.subData1D(index * Item.sizeof, Item.sizeof, mIOBuffer.getData());
+ mAllocation.subData1D(index /** Item.sizeof*/, 1/*Item.sizeof*/, mIOBuffer.getData());
}
}