diff --git a/libs/rs/java/Samples/AndroidManifest.xml b/libs/rs/java/Samples/AndroidManifest.xml
index 8dad161..c08a264 100644
--- a/libs/rs/java/Samples/AndroidManifest.xml
+++ b/libs/rs/java/Samples/AndroidManifest.xml
@@ -21,14 +21,5 @@
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
         </activity>
-
-        <activity android:name="RsBench"
-                  android:label="RsBenchmark"
-                  android:theme="@android:style/Theme.Black.NoTitleBar">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.LAUNCHER" />
-            </intent-filter>
-        </activity>
     </application>
 </manifest>
diff --git a/tests/RenderScriptTests/Android.mk b/tests/RenderScriptTests/Android.mk
new file mode 100644
index 0000000..5053e7d
--- /dev/null
+++ b/tests/RenderScriptTests/Android.mk
@@ -0,0 +1 @@
+include $(call all-subdir-makefiles)
diff --git a/libs/rs/java/ImageProcessing/Android.mk b/tests/RenderScriptTests/ImageProcessing/Android.mk
similarity index 100%
rename from libs/rs/java/ImageProcessing/Android.mk
rename to tests/RenderScriptTests/ImageProcessing/Android.mk
diff --git a/libs/rs/java/ImageProcessing/AndroidManifest.xml b/tests/RenderScriptTests/ImageProcessing/AndroidManifest.xml
similarity index 100%
rename from libs/rs/java/ImageProcessing/AndroidManifest.xml
rename to tests/RenderScriptTests/ImageProcessing/AndroidManifest.xml
diff --git a/libs/rs/java/ImageProcessing/res/drawable-hdpi/data.jpg b/tests/RenderScriptTests/ImageProcessing/res/drawable-hdpi/data.jpg
similarity index 100%
rename from libs/rs/java/ImageProcessing/res/drawable-hdpi/data.jpg
rename to tests/RenderScriptTests/ImageProcessing/res/drawable-hdpi/data.jpg
Binary files differ
diff --git a/libs/rs/java/ImageProcessing/res/drawable/data.jpg b/tests/RenderScriptTests/ImageProcessing/res/drawable/data.jpg
similarity index 100%
rename from libs/rs/java/ImageProcessing/res/drawable/data.jpg
rename to tests/RenderScriptTests/ImageProcessing/res/drawable/data.jpg
Binary files differ
diff --git a/libs/rs/java/ImageProcessing/res/layout/main.xml b/tests/RenderScriptTests/ImageProcessing/res/layout/main.xml
similarity index 100%
rename from libs/rs/java/ImageProcessing/res/layout/main.xml
rename to tests/RenderScriptTests/ImageProcessing/res/layout/main.xml
diff --git a/libs/rs/java/ImageProcessing/res/values/strings.xml b/tests/RenderScriptTests/ImageProcessing/res/values/strings.xml
similarity index 100%
rename from libs/rs/java/ImageProcessing/res/values/strings.xml
rename to tests/RenderScriptTests/ImageProcessing/res/values/strings.xml
diff --git a/libs/rs/java/ImageProcessing/src/com/android/rs/image/ImageProcessingActivity.java b/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/ImageProcessingActivity.java
similarity index 100%
rename from libs/rs/java/ImageProcessing/src/com/android/rs/image/ImageProcessingActivity.java
rename to tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/ImageProcessingActivity.java
diff --git a/libs/rs/java/ImageProcessing/src/com/android/rs/image/horizontal_blur.rs b/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/horizontal_blur.rs
similarity index 100%
rename from libs/rs/java/ImageProcessing/src/com/android/rs/image/horizontal_blur.rs
rename to tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/horizontal_blur.rs
diff --git a/libs/rs/java/ImageProcessing/src/com/android/rs/image/ip.rsh b/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/ip.rsh
similarity index 100%
rename from libs/rs/java/ImageProcessing/src/com/android/rs/image/ip.rsh
rename to tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/ip.rsh
diff --git a/libs/rs/java/ImageProcessing/src/com/android/rs/image/threshold.rs b/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/threshold.rs
similarity index 100%
rename from libs/rs/java/ImageProcessing/src/com/android/rs/image/threshold.rs
rename to tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/threshold.rs
diff --git a/libs/rs/java/ImageProcessing/src/com/android/rs/image/vertical_blur.rs b/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/vertical_blur.rs
similarity index 100%
rename from libs/rs/java/ImageProcessing/src/com/android/rs/image/vertical_blur.rs
rename to tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/vertical_blur.rs
diff --git a/libs/rs/java/ModelViewer/Android.mk b/tests/RenderScriptTests/ModelViewer/Android.mk
similarity index 100%
rename from libs/rs/java/ModelViewer/Android.mk
rename to tests/RenderScriptTests/ModelViewer/Android.mk
diff --git a/libs/rs/java/ModelViewer/AndroidManifest.xml b/tests/RenderScriptTests/ModelViewer/AndroidManifest.xml
similarity index 100%
rename from libs/rs/java/ModelViewer/AndroidManifest.xml
rename to tests/RenderScriptTests/ModelViewer/AndroidManifest.xml
diff --git a/libs/rs/java/ModelViewer/res/drawable/robot.png b/tests/RenderScriptTests/ModelViewer/res/drawable/robot.png
similarity index 100%
rename from libs/rs/java/ModelViewer/res/drawable/robot.png
rename to tests/RenderScriptTests/ModelViewer/res/drawable/robot.png
Binary files differ
diff --git a/libs/rs/java/ModelViewer/res/menu/loader_menu.xml b/tests/RenderScriptTests/ModelViewer/res/menu/loader_menu.xml
similarity index 100%
rename from libs/rs/java/ModelViewer/res/menu/loader_menu.xml
rename to tests/RenderScriptTests/ModelViewer/res/menu/loader_menu.xml
diff --git a/libs/rs/java/ModelViewer/res/raw/robot.a3d b/tests/RenderScriptTests/ModelViewer/res/raw/robot.a3d
similarity index 100%
rename from libs/rs/java/ModelViewer/res/raw/robot.a3d
rename to tests/RenderScriptTests/ModelViewer/res/raw/robot.a3d
Binary files differ
diff --git a/libs/rs/java/ModelViewer/res/values/strings.xml b/tests/RenderScriptTests/ModelViewer/res/values/strings.xml
similarity index 100%
rename from libs/rs/java/ModelViewer/res/values/strings.xml
rename to tests/RenderScriptTests/ModelViewer/res/values/strings.xml
diff --git a/libs/rs/java/ModelViewer/src/com/android/modelviewer/A3DSelector.java b/tests/RenderScriptTests/ModelViewer/src/com/android/modelviewer/A3DSelector.java
similarity index 100%
rename from libs/rs/java/ModelViewer/src/com/android/modelviewer/A3DSelector.java
rename to tests/RenderScriptTests/ModelViewer/src/com/android/modelviewer/A3DSelector.java
diff --git a/libs/rs/java/ModelViewer/src/com/android/modelviewer/SceneGraph.java b/tests/RenderScriptTests/ModelViewer/src/com/android/modelviewer/SceneGraph.java
similarity index 100%
rename from libs/rs/java/ModelViewer/src/com/android/modelviewer/SceneGraph.java
rename to tests/RenderScriptTests/ModelViewer/src/com/android/modelviewer/SceneGraph.java
diff --git a/libs/rs/java/ModelViewer/src/com/android/modelviewer/SceneGraphRS.java b/tests/RenderScriptTests/ModelViewer/src/com/android/modelviewer/SceneGraphRS.java
similarity index 100%
rename from libs/rs/java/ModelViewer/src/com/android/modelviewer/SceneGraphRS.java
rename to tests/RenderScriptTests/ModelViewer/src/com/android/modelviewer/SceneGraphRS.java
diff --git a/libs/rs/java/ModelViewer/src/com/android/modelviewer/SceneGraphView.java b/tests/RenderScriptTests/ModelViewer/src/com/android/modelviewer/SceneGraphView.java
similarity index 100%
rename from libs/rs/java/ModelViewer/src/com/android/modelviewer/SceneGraphView.java
rename to tests/RenderScriptTests/ModelViewer/src/com/android/modelviewer/SceneGraphView.java
diff --git a/libs/rs/java/ModelViewer/src/com/android/modelviewer/SgTransform.java b/tests/RenderScriptTests/ModelViewer/src/com/android/modelviewer/SgTransform.java
similarity index 100%
rename from libs/rs/java/ModelViewer/src/com/android/modelviewer/SgTransform.java
rename to tests/RenderScriptTests/ModelViewer/src/com/android/modelviewer/SgTransform.java
diff --git a/libs/rs/java/ModelViewer/src/com/android/modelviewer/SimpleModel.java b/tests/RenderScriptTests/ModelViewer/src/com/android/modelviewer/SimpleModel.java
similarity index 100%
rename from libs/rs/java/ModelViewer/src/com/android/modelviewer/SimpleModel.java
rename to tests/RenderScriptTests/ModelViewer/src/com/android/modelviewer/SimpleModel.java
diff --git a/libs/rs/java/ModelViewer/src/com/android/modelviewer/SimpleModelRS.java b/tests/RenderScriptTests/ModelViewer/src/com/android/modelviewer/SimpleModelRS.java
similarity index 100%
rename from libs/rs/java/ModelViewer/src/com/android/modelviewer/SimpleModelRS.java
rename to tests/RenderScriptTests/ModelViewer/src/com/android/modelviewer/SimpleModelRS.java
diff --git a/libs/rs/java/ModelViewer/src/com/android/modelviewer/SimpleModelView.java b/tests/RenderScriptTests/ModelViewer/src/com/android/modelviewer/SimpleModelView.java
similarity index 100%
rename from libs/rs/java/ModelViewer/src/com/android/modelviewer/SimpleModelView.java
rename to tests/RenderScriptTests/ModelViewer/src/com/android/modelviewer/SimpleModelView.java
diff --git a/libs/rs/java/ModelViewer/src/com/android/modelviewer/scenegraph.rs b/tests/RenderScriptTests/ModelViewer/src/com/android/modelviewer/scenegraph.rs
similarity index 100%
rename from libs/rs/java/ModelViewer/src/com/android/modelviewer/scenegraph.rs
rename to tests/RenderScriptTests/ModelViewer/src/com/android/modelviewer/scenegraph.rs
diff --git a/libs/rs/java/ModelViewer/src/com/android/modelviewer/simplemodel.rs b/tests/RenderScriptTests/ModelViewer/src/com/android/modelviewer/simplemodel.rs
similarity index 99%
rename from libs/rs/java/ModelViewer/src/com/android/modelviewer/simplemodel.rs
rename to tests/RenderScriptTests/ModelViewer/src/com/android/modelviewer/simplemodel.rs
index 1034b85..4c38745 100644
--- a/libs/rs/java/ModelViewer/src/com/android/modelviewer/simplemodel.rs
+++ b/tests/RenderScriptTests/ModelViewer/src/com/android/modelviewer/simplemodel.rs
@@ -157,5 +157,5 @@
 
     drawDescription();
 
-    return 10;
+    return 0;
 }
diff --git a/libs/rs/java/ModelViewer/src/com/android/modelviewer/transform.rs b/tests/RenderScriptTests/ModelViewer/src/com/android/modelviewer/transform.rs
similarity index 100%
rename from libs/rs/java/ModelViewer/src/com/android/modelviewer/transform.rs
rename to tests/RenderScriptTests/ModelViewer/src/com/android/modelviewer/transform.rs
diff --git a/libs/rs/java/ModelViewer/src/com/android/modelviewer/transform_def.rsh b/tests/RenderScriptTests/ModelViewer/src/com/android/modelviewer/transform_def.rsh
similarity index 100%
rename from libs/rs/java/ModelViewer/src/com/android/modelviewer/transform_def.rsh
rename to tests/RenderScriptTests/ModelViewer/src/com/android/modelviewer/transform_def.rsh
diff --git a/tests/RenderScriptTests/PerfTest/Android.mk b/tests/RenderScriptTests/PerfTest/Android.mk
new file mode 100644
index 0000000..85b0a65
--- /dev/null
+++ b/tests/RenderScriptTests/PerfTest/Android.mk
@@ -0,0 +1,31 @@
+#
+# Copyright (C) 2008 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.
+#
+
+ifneq ($(TARGET_SIMULATOR),true)
+
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src) $(call all-renderscript-files-under, src)
+#LOCAL_STATIC_JAVA_LIBRARIES := android.renderscript
+
+LOCAL_PACKAGE_NAME := PerfTest
+
+include $(BUILD_PACKAGE)
+
+endif
diff --git a/tests/RenderScriptTests/PerfTest/AndroidManifest.xml b/tests/RenderScriptTests/PerfTest/AndroidManifest.xml
new file mode 100644
index 0000000..3afb3b2
--- /dev/null
+++ b/tests/RenderScriptTests/PerfTest/AndroidManifest.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.perftest">
+    <uses-sdk android:minSdkVersion="11" />
+    <application android:label="PerfTest"
+    android:icon="@drawable/test_pattern">
+        <activity android:name="RsBench"
+                  android:label="RsBenchmark"
+                  android:theme="@android:style/Theme.Black.NoTitleBar">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+        </activity>
+    </application>
+</manifest>
diff --git a/tests/RenderScriptTests/PerfTest/res/drawable/checker.png b/tests/RenderScriptTests/PerfTest/res/drawable/checker.png
new file mode 100644
index 0000000..b631e1e
--- /dev/null
+++ b/tests/RenderScriptTests/PerfTest/res/drawable/checker.png
Binary files differ
diff --git a/tests/RenderScriptTests/PerfTest/res/drawable/data.png b/tests/RenderScriptTests/PerfTest/res/drawable/data.png
new file mode 100644
index 0000000..8e34714
--- /dev/null
+++ b/tests/RenderScriptTests/PerfTest/res/drawable/data.png
Binary files differ
diff --git a/tests/RenderScriptTests/PerfTest/res/drawable/leaf.png b/tests/RenderScriptTests/PerfTest/res/drawable/leaf.png
new file mode 100644
index 0000000..3cd3775
--- /dev/null
+++ b/tests/RenderScriptTests/PerfTest/res/drawable/leaf.png
Binary files differ
diff --git a/libs/rs/java/tests/res/drawable/test_pattern.png b/tests/RenderScriptTests/PerfTest/res/drawable/test_pattern.png
similarity index 100%
copy from libs/rs/java/tests/res/drawable/test_pattern.png
copy to tests/RenderScriptTests/PerfTest/res/drawable/test_pattern.png
Binary files differ
diff --git a/tests/RenderScriptTests/PerfTest/res/drawable/torusmap.png b/tests/RenderScriptTests/PerfTest/res/drawable/torusmap.png
new file mode 100644
index 0000000..1e08f3b
--- /dev/null
+++ b/tests/RenderScriptTests/PerfTest/res/drawable/torusmap.png
Binary files differ
diff --git a/tests/RenderScriptTests/PerfTest/res/raw/multitexf.glsl b/tests/RenderScriptTests/PerfTest/res/raw/multitexf.glsl
new file mode 100644
index 0000000..e492a47
--- /dev/null
+++ b/tests/RenderScriptTests/PerfTest/res/raw/multitexf.glsl
@@ -0,0 +1,13 @@
+varying vec2 varTex0;
+
+void main() {
+   vec2 t0 = varTex0.xy;
+   lowp vec4 col0 = texture2D(UNI_Tex0, t0).rgba;
+   lowp vec4 col1 = texture2D(UNI_Tex1, t0*4.0).rgba;
+   lowp vec4 col2 = texture2D(UNI_Tex2, t0).rgba;
+   col0.xyz = col0.xyz*col1.xyz*1.5;
+   col0.xyz = mix(col0.xyz, col2.xyz, col2.w);
+   col0.w = 0.5;
+   gl_FragColor = col0;
+}
+
diff --git a/tests/RenderScriptTests/PerfTest/res/raw/shader2f.glsl b/tests/RenderScriptTests/PerfTest/res/raw/shader2f.glsl
new file mode 100644
index 0000000..5fc05f1
--- /dev/null
+++ b/tests/RenderScriptTests/PerfTest/res/raw/shader2f.glsl
@@ -0,0 +1,29 @@
+varying vec3 varWorldPos;
+varying vec3 varWorldNormal;
+varying vec2 varTex0;
+
+void main() {
+
+   vec3 V = normalize(-varWorldPos.xyz);
+   vec3 worldNorm = normalize(varWorldNormal);
+
+   vec3 light0Vec = normalize(UNI_light0_Posision.xyz - varWorldPos);
+   vec3 light0R = -reflect(light0Vec, worldNorm);
+   float light0_Diffuse = clamp(dot(worldNorm, light0Vec), 0.0, 1.0) * UNI_light0_Diffuse;
+   float light0Spec = clamp(dot(light0R, V), 0.001, 1.0);
+   float light0_Specular = pow(light0Spec, UNI_light0_CosinePower) * UNI_light0_Specular;
+
+   vec3 light1Vec = normalize(UNI_light1_Posision.xyz - varWorldPos);
+   vec3 light1R = reflect(light1Vec, worldNorm);
+   float light1_Diffuse = clamp(dot(worldNorm, light1Vec), 0.0, 1.0) * UNI_light1_Diffuse;
+   float light1Spec = clamp(dot(light1R, V), 0.001, 1.0);
+   float light1_Specular = pow(light1Spec, UNI_light1_CosinePower) * UNI_light1_Specular;
+
+   vec2 t0 = varTex0.xy;
+   lowp vec4 col = texture2D(UNI_Tex0, t0).rgba;
+   col.xyz = col.xyz * (light0_Diffuse * UNI_light0_DiffuseColor.xyz + light1_Diffuse * UNI_light1_DiffuseColor.xyz);
+   col.xyz += light0_Specular * UNI_light0_SpecularColor.xyz;
+   col.xyz += light1_Specular * UNI_light1_SpecularColor.xyz;
+   gl_FragColor = col;
+}
+
diff --git a/tests/RenderScriptTests/PerfTest/res/raw/shader2movev.glsl b/tests/RenderScriptTests/PerfTest/res/raw/shader2movev.glsl
new file mode 100644
index 0000000..a2c807e
--- /dev/null
+++ b/tests/RenderScriptTests/PerfTest/res/raw/shader2movev.glsl
@@ -0,0 +1,21 @@
+varying vec3 varWorldPos;
+varying vec3 varWorldNormal;
+varying vec2 varTex0;
+
+// This is where actual shader code begins
+void main() {
+   vec4 objPos = ATTRIB_position;
+   vec3 oldPos = objPos.xyz;
+   objPos.xyz += 0.1*sin(objPos.xyz*2.0 + UNI_time);
+   objPos.xyz += 0.05*sin(objPos.xyz*4.0 + UNI_time*0.5);
+   objPos.xyz += 0.02*sin(objPos.xyz*7.0 + UNI_time*0.75);
+   vec4 worldPos = UNI_model * objPos;
+   gl_Position = UNI_proj * worldPos;
+
+   mat3 model3 = mat3(UNI_model[0].xyz, UNI_model[1].xyz, UNI_model[2].xyz);
+   vec3 worldNorm = model3 * (ATTRIB_normal + oldPos - objPos.xyz);
+
+   varWorldPos = worldPos.xyz;
+   varWorldNormal = worldNorm;
+   varTex0 = ATTRIB_texture0;
+}
diff --git a/tests/RenderScriptTests/PerfTest/res/raw/shader2v.glsl b/tests/RenderScriptTests/PerfTest/res/raw/shader2v.glsl
new file mode 100644
index 0000000..e6885a3
--- /dev/null
+++ b/tests/RenderScriptTests/PerfTest/res/raw/shader2v.glsl
@@ -0,0 +1,17 @@
+varying vec3 varWorldPos;
+varying vec3 varWorldNormal;
+varying vec2 varTex0;
+
+// This is where actual shader code begins
+void main() {
+   vec4 objPos = ATTRIB_position;
+   vec4 worldPos = UNI_model * objPos;
+   gl_Position = UNI_proj * worldPos;
+
+   mat3 model3 = mat3(UNI_model[0].xyz, UNI_model[1].xyz, UNI_model[2].xyz);
+   vec3 worldNorm = model3 * ATTRIB_normal;
+
+   varWorldPos = worldPos.xyz;
+   varWorldNormal = worldNorm;
+   varTex0 = ATTRIB_texture0;
+}
diff --git a/tests/RenderScriptTests/PerfTest/res/raw/shaderf.glsl b/tests/RenderScriptTests/PerfTest/res/raw/shaderf.glsl
new file mode 100644
index 0000000..d56e203
--- /dev/null
+++ b/tests/RenderScriptTests/PerfTest/res/raw/shaderf.glsl
@@ -0,0 +1,16 @@
+
+varying lowp float light0_Diffuse;
+varying lowp float light0_Specular;
+varying lowp float light1_Diffuse;
+varying lowp float light1_Specular;
+varying vec2 varTex0;
+
+void main() {
+   vec2 t0 = varTex0.xy;
+   lowp vec4 col = texture2D(UNI_Tex0, t0).rgba;
+   col.xyz = col.xyz * (light0_Diffuse * UNI_light0_DiffuseColor.xyz + light1_Diffuse * UNI_light1_DiffuseColor.xyz);
+   col.xyz += light0_Specular * UNI_light0_SpecularColor.xyz;
+   col.xyz += light1_Specular * UNI_light1_SpecularColor.xyz;
+   gl_FragColor = col;
+}
+
diff --git a/tests/RenderScriptTests/PerfTest/res/raw/shaderv.glsl b/tests/RenderScriptTests/PerfTest/res/raw/shaderv.glsl
new file mode 100644
index 0000000..f7d01de
--- /dev/null
+++ b/tests/RenderScriptTests/PerfTest/res/raw/shaderv.glsl
@@ -0,0 +1,30 @@
+varying float light0_Diffuse;
+varying float light0_Specular;
+varying float light1_Diffuse;
+varying float light1_Specular;
+varying vec2 varTex0;
+
+// This is where actual shader code begins
+void main() {
+   vec4 worldPos = UNI_model * ATTRIB_position;
+   gl_Position = UNI_proj * worldPos;
+
+   mat3 model3 = mat3(UNI_model[0].xyz, UNI_model[1].xyz, UNI_model[2].xyz);
+   vec3 worldNorm = model3 * ATTRIB_normal;
+   vec3 V = normalize(-worldPos.xyz);
+
+   vec3 light0Vec = normalize(UNI_light0_Posision.xyz - worldPos.xyz);
+   vec3 light0R = -reflect(light0Vec, worldNorm);
+   light0_Diffuse = clamp(dot(worldNorm, light0Vec), 0.0, 1.0) * UNI_light0_Diffuse;
+   float light0Spec = clamp(dot(light0R, V), 0.001, 1.0);
+   light0_Specular = pow(light0Spec, UNI_light0_CosinePower) * UNI_light0_Specular;
+
+   vec3 light1Vec = normalize(UNI_light1_Posision.xyz - worldPos.xyz);
+   vec3 light1R = reflect(light1Vec, worldNorm);
+   light1_Diffuse = clamp(dot(worldNorm, light1Vec), 0.0, 1.0) * UNI_light1_Diffuse;
+   float light1Spec = clamp(dot(light1R, V), 0.001, 1.0);
+   light1_Specular = pow(light1Spec, UNI_light1_CosinePower) * UNI_light1_Specular;
+
+   gl_PointSize = 1.0;
+   varTex0 = ATTRIB_texture0;
+}
diff --git a/tests/RenderScriptTests/PerfTest/res/raw/torus.a3d b/tests/RenderScriptTests/PerfTest/res/raw/torus.a3d
new file mode 100644
index 0000000..0322b01
--- /dev/null
+++ b/tests/RenderScriptTests/PerfTest/res/raw/torus.a3d
Binary files differ
diff --git a/libs/rs/java/Samples/src/com/android/samples/RsBench.java b/tests/RenderScriptTests/PerfTest/src/com/android/perftest/RsBench.java
similarity index 98%
rename from libs/rs/java/Samples/src/com/android/samples/RsBench.java
rename to tests/RenderScriptTests/PerfTest/src/com/android/perftest/RsBench.java
index a29dddc..cfe1970 100644
--- a/libs/rs/java/Samples/src/com/android/samples/RsBench.java
+++ b/tests/RenderScriptTests/PerfTest/src/com/android/perftest/RsBench.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.samples;
+package com.android.perftest;
 
 import android.renderscript.RSSurfaceView;
 import android.renderscript.RenderScript;
diff --git a/libs/rs/java/Samples/src/com/android/samples/RsBenchRS.java b/tests/RenderScriptTests/PerfTest/src/com/android/perftest/RsBenchRS.java
similarity index 93%
rename from libs/rs/java/Samples/src/com/android/samples/RsBenchRS.java
rename to tests/RenderScriptTests/PerfTest/src/com/android/perftest/RsBenchRS.java
index 1afcee3..9757ec6 100644
--- a/libs/rs/java/Samples/src/com/android/samples/RsBenchRS.java
+++ b/tests/RenderScriptTests/PerfTest/src/com/android/perftest/RsBenchRS.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.samples;
+package com.android.perftest;
 
 import java.io.Writer;
 
@@ -84,9 +84,6 @@
     private ScriptField_VertexShaderConstants3_s mVSConstPixel;
     private ScriptField_FragentShaderConstants3_s mFSConstPixel;
 
-    private ProgramVertex mProgVertexCube;
-    private ProgramFragment mProgFragmentCube;
-
     private ProgramRaster mCullBack;
     private ProgramRaster mCullFront;
     private ProgramRaster mCullNone;
@@ -95,7 +92,6 @@
     private Allocation mTexOpaque;
     private Allocation mTexTransparent;
     private Allocation mTexChecker;
-    private Allocation mTexCube;
 
     private Mesh m10by10Mesh;
     private Mesh m100by100Mesh;
@@ -247,19 +243,6 @@
         // Bind the source of constant data
         mProgFragmentCustom.bindConstants(mFSConst.getAllocation(), 0);
 
-        // Cubemap test shaders
-        pvbCustom = new ProgramVertex.Builder(mRS);
-        pvbCustom.setShader(mRes, R.raw.shadercubev);
-        pvbCustom.addInput(ScriptField_VertexShaderInputs_s.createElement(mRS));
-        pvbCustom.addConstant(mVSConst.getAllocation().getType());
-        mProgVertexCube = pvbCustom.create();
-        mProgVertexCube.bindConstants(mVSConst.getAllocation(), 0);
-
-        pfbCustom = new ProgramFragment.Builder(mRS);
-        pfbCustom.setShader(mRes, R.raw.shadercubef);
-        pfbCustom.addTexture(Program.TextureType.TEXTURE_CUBE);
-        mProgFragmentCube = pfbCustom.create();
-
         pvbCustom = new ProgramVertex.Builder(mRS);
         pvbCustom.setShader(mRes, R.raw.shader2v);
         pvbCustom.addInput(ScriptField_VertexShaderInputs_s.createElement(mRS));
@@ -290,8 +273,6 @@
 
         mScript.set_gProgVertexCustom(mProgVertexCustom);
         mScript.set_gProgFragmentCustom(mProgFragmentCustom);
-        mScript.set_gProgVertexCube(mProgVertexCube);
-        mScript.set_gProgFragmentCube(mProgFragmentCube);
         mScript.set_gProgVertexPixelLight(mProgVertexPixelLight);
         mScript.set_gProgVertexPixelLightMove(mProgVertexPixelLightMove);
         mScript.set_gProgFragmentPixelLight(mProgFragmentPixelLight);
@@ -316,14 +297,11 @@
         mTexOpaque = loadTextureRGB(R.drawable.data);
         mTexTransparent = loadTextureARGB(R.drawable.leaf);
         mTexChecker = loadTextureRGB(R.drawable.checker);
-        Bitmap b = BitmapFactory.decodeResource(mRes, R.drawable.cubemap_test);
-        mTexCube = Allocation.createCubemapFromBitmap(mRS, b);
 
         mScript.set_gTexTorus(mTexTorus);
         mScript.set_gTexOpaque(mTexOpaque);
         mScript.set_gTexTransparent(mTexTransparent);
         mScript.set_gTexChecker(mTexChecker);
-        mScript.set_gTexCube(mTexCube);
     }
 
     private void initFonts() {
diff --git a/libs/rs/java/Samples/src/com/android/samples/RsBenchView.java b/tests/RenderScriptTests/PerfTest/src/com/android/perftest/RsBenchView.java
similarity index 98%
rename from libs/rs/java/Samples/src/com/android/samples/RsBenchView.java
rename to tests/RenderScriptTests/PerfTest/src/com/android/perftest/RsBenchView.java
index 0a56668..ee7e508 100644
--- a/libs/rs/java/Samples/src/com/android/samples/RsBenchView.java
+++ b/tests/RenderScriptTests/PerfTest/src/com/android/perftest/RsBenchView.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.samples;
+package com.android.perftest;
 
 import java.io.Writer;
 import java.util.ArrayList;
diff --git a/libs/rs/java/Samples/src/com/android/samples/rsbench.rs b/tests/RenderScriptTests/PerfTest/src/com/android/perftest/rsbench.rs
similarity index 98%
rename from libs/rs/java/Samples/src/com/android/samples/rsbench.rs
rename to tests/RenderScriptTests/PerfTest/src/com/android/perftest/rsbench.rs
index a1368e6..3c92725 100644
--- a/libs/rs/java/Samples/src/com/android/samples/rsbench.rs
+++ b/tests/RenderScriptTests/PerfTest/src/com/android/perftest/rsbench.rs
@@ -14,7 +14,7 @@
 
 #pragma version(1)
 
-#pragma rs java_package_name(com.android.samples)
+#pragma rs java_package_name(com.android.perftest)
 
 #include "rs_graphics.rsh"
 #include "shader_def.rsh"
@@ -34,7 +34,6 @@
 rs_allocation gTexTorus;
 rs_allocation gTexTransparent;
 rs_allocation gTexChecker;
-rs_allocation gTexCube;
 
 rs_mesh g10by10Mesh;
 rs_mesh g100by100Mesh;
@@ -75,8 +74,6 @@
 rs_program_vertex gProgVertexPixelLight;
 rs_program_vertex gProgVertexPixelLightMove;
 rs_program_fragment gProgFragmentPixelLight;
-rs_program_vertex gProgVertexCube;
-rs_program_fragment gProgFragmentCube;
 rs_program_fragment gProgFragmentMultitex;
 
 float gDt = 0;
diff --git a/tests/RenderScriptTests/PerfTest/src/com/android/perftest/shader_def.rsh b/tests/RenderScriptTests/PerfTest/src/com/android/perftest/shader_def.rsh
new file mode 100644
index 0000000..1d77ea9
--- /dev/null
+++ b/tests/RenderScriptTests/PerfTest/src/com/android/perftest/shader_def.rsh
@@ -0,0 +1,83 @@
+// Copyright (C) 2009 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.
+
+#pragma version(1)
+
+#pragma rs java_package_name(com.android.perftest)
+
+typedef struct VertexShaderConstants_s {
+    rs_matrix4x4 model;
+    rs_matrix4x4 proj;
+    float4 light0_Posision;
+    float light0_Diffuse;
+    float light0_Specular;
+    float light0_CosinePower;
+
+    float4 light1_Posision;
+    float light1_Diffuse;
+    float light1_Specular;
+    float light1_CosinePower;
+} VertexShaderConstants;
+
+typedef struct VertexShaderConstants2_s {
+    rs_matrix4x4 model[2];
+    rs_matrix4x4 proj;
+    float4 light_Posision[2];
+    float light_Diffuse[2];
+    float light_Specular[2];
+    float light_CosinePower[2];
+} VertexShaderConstants2;
+
+typedef struct VertexShaderConstants3_s {
+    rs_matrix4x4 model;
+    rs_matrix4x4 proj;
+    float time;
+} VertexShaderConstants3;
+
+
+typedef struct FragentShaderConstants_s {
+    float4 light0_DiffuseColor;
+    float4 light0_SpecularColor;
+
+    float4 light1_DiffuseColor;
+    float4 light1_SpecularColor;
+} FragentShaderConstants;
+
+typedef struct FragentShaderConstants2_s {
+    float4 light_DiffuseColor[2];
+    float4 light_SpecularColor[2];
+} FragentShaderConstants2;
+
+typedef struct FragentShaderConstants3_s {
+    float4 light0_DiffuseColor;
+    float4 light0_SpecularColor;
+    float4 light0_Posision;
+    float light0_Diffuse;
+    float light0_Specular;
+    float light0_CosinePower;
+
+    float4 light1_DiffuseColor;
+    float4 light1_SpecularColor;
+    float4 light1_Posision;
+    float light1_Diffuse;
+    float light1_Specular;
+    float light1_CosinePower;
+} FragentShaderConstants3;
+
+typedef struct VertexShaderInputs_s {
+    float4 position;
+    float3 normal;
+    float2 texture0;
+} VertexShaderInputs;
+
diff --git a/libs/rs/java/tests/Android.mk b/tests/RenderScriptTests/tests/Android.mk
similarity index 100%
rename from libs/rs/java/tests/Android.mk
rename to tests/RenderScriptTests/tests/Android.mk
diff --git a/libs/rs/java/tests/AndroidManifest.xml b/tests/RenderScriptTests/tests/AndroidManifest.xml
similarity index 100%
rename from libs/rs/java/tests/AndroidManifest.xml
rename to tests/RenderScriptTests/tests/AndroidManifest.xml
diff --git a/libs/rs/java/tests/res/drawable/test_pattern.png b/tests/RenderScriptTests/tests/res/drawable/test_pattern.png
similarity index 100%
rename from libs/rs/java/tests/res/drawable/test_pattern.png
rename to tests/RenderScriptTests/tests/res/drawable/test_pattern.png
Binary files differ
diff --git a/libs/rs/java/tests/src/com/android/rs/test/RSTest.java b/tests/RenderScriptTests/tests/src/com/android/rs/test/RSTest.java
similarity index 100%
rename from libs/rs/java/tests/src/com/android/rs/test/RSTest.java
rename to tests/RenderScriptTests/tests/src/com/android/rs/test/RSTest.java
diff --git a/libs/rs/java/tests/src/com/android/rs/test/RSTestCore.java b/tests/RenderScriptTests/tests/src/com/android/rs/test/RSTestCore.java
similarity index 100%
rename from libs/rs/java/tests/src/com/android/rs/test/RSTestCore.java
rename to tests/RenderScriptTests/tests/src/com/android/rs/test/RSTestCore.java
diff --git a/libs/rs/java/tests/src/com/android/rs/test/RSTestView.java b/tests/RenderScriptTests/tests/src/com/android/rs/test/RSTestView.java
similarity index 100%
rename from libs/rs/java/tests/src/com/android/rs/test/RSTestView.java
rename to tests/RenderScriptTests/tests/src/com/android/rs/test/RSTestView.java
diff --git a/libs/rs/java/tests/src/com/android/rs/test/UT_fp_mad.java b/tests/RenderScriptTests/tests/src/com/android/rs/test/UT_fp_mad.java
similarity index 100%
rename from libs/rs/java/tests/src/com/android/rs/test/UT_fp_mad.java
rename to tests/RenderScriptTests/tests/src/com/android/rs/test/UT_fp_mad.java
diff --git a/libs/rs/java/tests/src/com/android/rs/test/UT_math.java b/tests/RenderScriptTests/tests/src/com/android/rs/test/UT_math.java
similarity index 100%
rename from libs/rs/java/tests/src/com/android/rs/test/UT_math.java
rename to tests/RenderScriptTests/tests/src/com/android/rs/test/UT_math.java
diff --git a/libs/rs/java/tests/src/com/android/rs/test/UT_primitives.java b/tests/RenderScriptTests/tests/src/com/android/rs/test/UT_primitives.java
similarity index 100%
rename from libs/rs/java/tests/src/com/android/rs/test/UT_primitives.java
rename to tests/RenderScriptTests/tests/src/com/android/rs/test/UT_primitives.java
diff --git a/libs/rs/java/tests/src/com/android/rs/test/UT_rsdebug.java b/tests/RenderScriptTests/tests/src/com/android/rs/test/UT_rsdebug.java
similarity index 100%
rename from libs/rs/java/tests/src/com/android/rs/test/UT_rsdebug.java
rename to tests/RenderScriptTests/tests/src/com/android/rs/test/UT_rsdebug.java
diff --git a/libs/rs/java/tests/src/com/android/rs/test/UT_rstime.java b/tests/RenderScriptTests/tests/src/com/android/rs/test/UT_rstime.java
similarity index 100%
rename from libs/rs/java/tests/src/com/android/rs/test/UT_rstime.java
rename to tests/RenderScriptTests/tests/src/com/android/rs/test/UT_rstime.java
diff --git a/libs/rs/java/tests/src/com/android/rs/test/UT_rstypes.java b/tests/RenderScriptTests/tests/src/com/android/rs/test/UT_rstypes.java
similarity index 100%
rename from libs/rs/java/tests/src/com/android/rs/test/UT_rstypes.java
rename to tests/RenderScriptTests/tests/src/com/android/rs/test/UT_rstypes.java
diff --git a/libs/rs/java/tests/src/com/android/rs/test/UnitTest.java b/tests/RenderScriptTests/tests/src/com/android/rs/test/UnitTest.java
similarity index 100%
rename from libs/rs/java/tests/src/com/android/rs/test/UnitTest.java
rename to tests/RenderScriptTests/tests/src/com/android/rs/test/UnitTest.java
diff --git a/libs/rs/java/tests/src/com/android/rs/test/fp_mad.rs b/tests/RenderScriptTests/tests/src/com/android/rs/test/fp_mad.rs
similarity index 100%
rename from libs/rs/java/tests/src/com/android/rs/test/fp_mad.rs
rename to tests/RenderScriptTests/tests/src/com/android/rs/test/fp_mad.rs
diff --git a/libs/rs/java/tests/src/com/android/rs/test/math.rs b/tests/RenderScriptTests/tests/src/com/android/rs/test/math.rs
similarity index 100%
rename from libs/rs/java/tests/src/com/android/rs/test/math.rs
rename to tests/RenderScriptTests/tests/src/com/android/rs/test/math.rs
diff --git a/libs/rs/java/tests/src/com/android/rs/test/primitives.rs b/tests/RenderScriptTests/tests/src/com/android/rs/test/primitives.rs
similarity index 100%
rename from libs/rs/java/tests/src/com/android/rs/test/primitives.rs
rename to tests/RenderScriptTests/tests/src/com/android/rs/test/primitives.rs
diff --git a/libs/rs/java/tests/src/com/android/rs/test/rsdebug.rs b/tests/RenderScriptTests/tests/src/com/android/rs/test/rsdebug.rs
similarity index 100%
rename from libs/rs/java/tests/src/com/android/rs/test/rsdebug.rs
rename to tests/RenderScriptTests/tests/src/com/android/rs/test/rsdebug.rs
diff --git a/libs/rs/java/tests/src/com/android/rs/test/rslist.rs b/tests/RenderScriptTests/tests/src/com/android/rs/test/rslist.rs
similarity index 100%
rename from libs/rs/java/tests/src/com/android/rs/test/rslist.rs
rename to tests/RenderScriptTests/tests/src/com/android/rs/test/rslist.rs
diff --git a/libs/rs/java/tests/src/com/android/rs/test/rstime.rs b/tests/RenderScriptTests/tests/src/com/android/rs/test/rstime.rs
similarity index 100%
rename from libs/rs/java/tests/src/com/android/rs/test/rstime.rs
rename to tests/RenderScriptTests/tests/src/com/android/rs/test/rstime.rs
diff --git a/libs/rs/java/tests/src/com/android/rs/test/rstypes.rs b/tests/RenderScriptTests/tests/src/com/android/rs/test/rstypes.rs
similarity index 100%
rename from libs/rs/java/tests/src/com/android/rs/test/rstypes.rs
rename to tests/RenderScriptTests/tests/src/com/android/rs/test/rstypes.rs
diff --git a/libs/rs/java/tests/src/com/android/rs/test/shared.rsh b/tests/RenderScriptTests/tests/src/com/android/rs/test/shared.rsh
similarity index 100%
rename from libs/rs/java/tests/src/com/android/rs/test/shared.rsh
rename to tests/RenderScriptTests/tests/src/com/android/rs/test/shared.rsh
diff --git a/libs/rs/java/tests/src/com/android/rs/test/test_root.rs b/tests/RenderScriptTests/tests/src/com/android/rs/test/test_root.rs
similarity index 100%
rename from libs/rs/java/tests/src/com/android/rs/test/test_root.rs
rename to tests/RenderScriptTests/tests/src/com/android/rs/test/test_root.rs
