diff options
| author | Stephen Hines <srhines@google.com> | 2010-11-08 11:49:02 -0800 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-11-08 11:49:02 -0800 |
| commit | cce1d2a60bc1ef10ec6beb338ec3d4cf94486c47 (patch) | |
| tree | 02a22110ccb0c69a4b0b25cb43f326280de221db /libs | |
| parent | 3fe3851753e3623d3c7c468efa6ee17f17f9aa74 (diff) | |
| parent | 5fe11d20e3c432fc04dc3526c35496c49045a19d (diff) | |
| download | frameworks_base-cce1d2a60bc1ef10ec6beb338ec3d4cf94486c47.zip frameworks_base-cce1d2a60bc1ef10ec6beb338ec3d4cf94486c47.tar.gz frameworks_base-cce1d2a60bc1ef10ec6beb338ec3d4cf94486c47.tar.bz2 | |
Merge "Add vector array test to RSTest."
Diffstat (limited to 'libs')
3 files changed, 92 insertions, 0 deletions
diff --git a/libs/rs/java/tests/src/com/android/rs/test/RSTestCore.java b/libs/rs/java/tests/src/com/android/rs/test/RSTestCore.java index 8054779..d2ce6c8 100644 --- a/libs/rs/java/tests/src/com/android/rs/test/RSTestCore.java +++ b/libs/rs/java/tests/src/com/android/rs/test/RSTestCore.java @@ -64,6 +64,7 @@ public class RSTestCore { unitTests.add(new UT_primitives(this, mRes)); unitTests.add(new UT_rsdebug(this, mRes)); unitTests.add(new UT_rstypes(this, mRes)); + unitTests.add(new UT_vector_array(this, mRes)); unitTests.add(new UT_fp_mad(this, mRes)); /* unitTests.add(new UnitTest(null, "<Pass>", 1)); diff --git a/libs/rs/java/tests/src/com/android/rs/test/UT_vector_array.java b/libs/rs/java/tests/src/com/android/rs/test/UT_vector_array.java new file mode 100644 index 0000000..615ce14 --- /dev/null +++ b/libs/rs/java/tests/src/com/android/rs/test/UT_vector_array.java @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2010 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. + */ + +package com.android.rs.test; + +import android.content.res.Resources; +import android.renderscript.*; + +public class UT_vector_array extends UnitTest { + private Resources mRes; + + protected UT_vector_array(RSTestCore rstc, Resources res) { + super(rstc, "Vector Array"); + mRes = res; + } + + public void run() { + RenderScript pRS = RenderScript.create(); + ScriptC_vector_array s = new ScriptC_vector_array(pRS, mRes, R.raw.vector_array); + pRS.mMessageCallback = mRsMessage; + s.invoke_vector_array_test(); + pRS.finish(); + waitForMessage(); + pRS.destroy(); + } +} + diff --git a/libs/rs/java/tests/src/com/android/rs/test/vector_array.rs b/libs/rs/java/tests/src/com/android/rs/test/vector_array.rs new file mode 100644 index 0000000..f924ae4 --- /dev/null +++ b/libs/rs/java/tests/src/com/android/rs/test/vector_array.rs @@ -0,0 +1,51 @@ +// 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. + +#include "shared.rsh" + +#pragma rs export_func(vector_array_test) + +typedef struct { + float3 arr[2]; +} float3Struct; + +float3Struct f; + +bool size_test() { + bool failed = false; + int expectedSize = 2 * 3 * (int) sizeof(float); + int actualSize = (int) sizeof(f); + + rsDebug("Size of struct { float3 arr[2]; } (expected):", expectedSize); + rsDebug("Size of struct { float3 arr[2]; } (actual) :", actualSize); + + if (expectedSize != actualSize) { + failed = true; + } + + return failed; +} + +void vector_array_test() { + bool failed = false; + failed |= size_test(); + + if (failed) { + rsSendToClientBlocking(RS_MSG_TEST_FAILED); + } + else { + rsSendToClientBlocking(RS_MSG_TEST_PASSED); + } +} + |
