diff options
| author | Jason Sams <rjsams@android.com> | 2010-11-17 15:29:32 -0800 |
|---|---|---|
| committer | Jason Sams <rjsams@android.com> | 2010-11-17 15:29:32 -0800 |
| commit | a17af04e62a3f40f729e7ebb8bd868d192e18405 (patch) | |
| tree | 1cbd4b4e3fcb86d318b2825758fcf89733adf3e0 /libs/rs/java/Balls | |
| parent | 81c4cea9ec4b08f8c06fdef86d51069adb739eb7 (diff) | |
| download | frameworks_base-a17af04e62a3f40f729e7ebb8bd868d192e18405.zip frameworks_base-a17af04e62a3f40f729e7ebb8bd868d192e18405.tar.gz frameworks_base-a17af04e62a3f40f729e7ebb8bd868d192e18405.tar.bz2 | |
Create holder inner class for pushing context state.
Fix bug with rsForEach corrupting parent context state.
Remove workaround from rsBalls.
Change-Id: I43a948536e70d44645d1c2ef7b97e1c5906f6943
Diffstat (limited to 'libs/rs/java/Balls')
| -rw-r--r-- | libs/rs/java/Balls/src/com/android/balls/BallsRS.java | 14 | ||||
| -rw-r--r-- | libs/rs/java/Balls/src/com/android/balls/balls.rs | 9 |
2 files changed, 4 insertions, 19 deletions
diff --git a/libs/rs/java/Balls/src/com/android/balls/BallsRS.java b/libs/rs/java/Balls/src/com/android/balls/BallsRS.java index 359f334..76c23b7 100644 --- a/libs/rs/java/Balls/src/com/android/balls/BallsRS.java +++ b/libs/rs/java/Balls/src/com/android/balls/BallsRS.java @@ -33,8 +33,6 @@ public class BallsRS { private ProgramFragment mPFLines; private ProgramFragment mPFPoints; private ProgramVertex mPV; - private ProgramRaster mPR; - private ProgramStore mPS; private ScriptField_Point mPoints; private ScriptField_Point mArcs; private ScriptField_VpConsts mVpConsts; @@ -48,12 +46,6 @@ public class BallsRS { mVpConsts.set(i, 0, true); } - private void createProgramRaster() { - ProgramRaster.Builder b = new ProgramRaster.Builder(mRS); - mPR = b.create(); - mScript.set_gPR(mPR); - } - private void createProgramVertex() { updateProjectionMatrices(); @@ -71,7 +63,7 @@ public class BallsRS { sb.addInput(mPoints.getElement()); ProgramVertex pvs = sb.create(); pvs.bindConstants(mVpConsts.getAllocation(), 0); - mScript.set_gPV(pvs); + mRS.contextBindProgramVertex(pvs); } private Allocation loadTexture(int id) { @@ -125,10 +117,8 @@ public class BallsRS { mScript.set_gPFLines(mPFLines); mScript.set_gPFPoints(mPFPoints); createProgramVertex(); - createProgramRaster(); - mPS = ProgramStore.BLEND_ADD_DEPTH_NO_DEPTH(mRS); - mScript.set_gPS(mPS); + mRS.contextBindProgramStore(ProgramStore.BLEND_ADD_DEPTH_NO_DEPTH(mRS)); mPhysicsScript.set_gMinPos(new Float2(5, 5)); mPhysicsScript.set_gMaxPos(new Float2(width - 5, height - 5)); diff --git a/libs/rs/java/Balls/src/com/android/balls/balls.rs b/libs/rs/java/Balls/src/com/android/balls/balls.rs index bbd03cf..3edbe2d 100644 --- a/libs/rs/java/Balls/src/com/android/balls/balls.rs +++ b/libs/rs/java/Balls/src/com/android/balls/balls.rs @@ -4,13 +4,11 @@ #include "balls.rsh" -#pragma stateFragment(parent) +#pragma stateVertex(parent) +#pragma stateStore(parent) rs_program_fragment gPFPoints; rs_program_fragment gPFLines; -rs_program_vertex gPV; -rs_program_raster gPR; -rs_program_store gPS; rs_mesh partMesh; rs_mesh arcMesh; @@ -95,9 +93,6 @@ int root() { frame++; rsgBindProgramFragment(gPFLines); - rsgBindProgramVertex(gPV); - rsgBindProgramRaster(gPR); - rsgBindProgramStore(gPS); rsgDrawMesh(arcMesh, 0, 0, arcIdx); rsgBindProgramFragment(gPFPoints); rsgDrawMesh(partMesh); |
