Moving renderscript tests away from the library to a dedicated test folder.

Change-Id: I7d8e20a17513f167eae3681d77463c01f4fa24a7
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