Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cce1d2a6 authored by Stephen Hines's avatar Stephen Hines Committed by Android (Google) Code Review
Browse files

Merge "Add vector array test to RSTest."

parents 3fe38517 5fe11d20
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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));
+40 −0
Original line number Diff line number Diff line
/*
 * 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();
    }
}
+51 −0
Original line number Diff line number Diff line
// 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);
    }
}