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

Commit 7bb5745b authored by Stephen Hines's avatar Stephen Hines
Browse files

Failing uchar4->int4 test

BUG=7081293

This demonstrates the missing vmovl.u16 for expanding the unsigned char input.

Change-Id: I14f560e0fb1efd1c283d2e0a87f5506ca28cf88d
parent f0340d15
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -87,6 +87,7 @@ public class RSTestCore {
        unitTests.add(new UT_math_conformance(this, mRes, mCtx));
        unitTests.add(new UT_math_conformance(this, mRes, mCtx));
        unitTests.add(new UT_math_agree(this, mRes, mCtx));
        unitTests.add(new UT_math_agree(this, mRes, mCtx));
        unitTests.add(new UT_min(this, mRes, mCtx));
        unitTests.add(new UT_min(this, mRes, mCtx));
        unitTests.add(new UT_int4(this, mRes, mCtx));
        unitTests.add(new UT_element(this, mRes, mCtx));
        unitTests.add(new UT_element(this, mRes, mCtx));
        unitTests.add(new UT_sampler(this, mRes, mCtx));
        unitTests.add(new UT_sampler(this, mRes, mCtx));
        unitTests.add(new UT_program_store(this, mRes, mCtx));
        unitTests.add(new UT_program_store(this, mRes, mCtx));
+40 −0
Original line number Original line Diff line number Diff line
/*
 * Copyright (C) 2012 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.Context;
import android.content.res.Resources;
import android.renderscript.*;

public class UT_int4 extends UnitTest {
    private Resources mRes;

    protected UT_int4(RSTestCore rstc, Resources res, Context ctx) {
        super(rstc, "int4", ctx);
        mRes = res;
    }

    public void run() {
        RenderScript pRS = RenderScript.create(mCtx);
        ScriptC_int4 s = new ScriptC_int4(pRS, mRes, R.raw.int4);
        pRS.setMessageHandler(mRsMessage);
        s.invoke_int4_test();
        pRS.finish();
        waitForMessage();
        pRS.destroy();
    }
}
+29 −0
Original line number Original line Diff line number Diff line
#include "shared.rsh"
#pragma rs_fp_relaxed

uchar4 u4 = 4;
int4 gi4 = {2, 2, 2, 2};

void int4_test() {
    bool failed = false;
    int4 i4 = {u4.x, u4.y, u4.z, u4.w};
    i4 *= gi4;

    rsDebug("i4.x", i4.x);
    rsDebug("i4.y", i4.y);
    rsDebug("i4.z", i4.z);
    rsDebug("i4.w", i4.w);

    _RS_ASSERT(i4.x == 8);
    _RS_ASSERT(i4.y == 8);
    _RS_ASSERT(i4.z == 8);
    _RS_ASSERT(i4.w == 8);

    if (failed) {
        rsSendToClientBlocking(RS_MSG_TEST_FAILED);
    }
    else {
        rsSendToClientBlocking(RS_MSG_TEST_PASSED);
    }
}