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

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

Merge "Split time functions into rs_time.rsh header." into honeycomb

parents 778f5f95 1ac9da67
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -66,6 +66,7 @@ public class RSTestCore {

        unitTests.add(new UT_primitives(this, mRes, mCtx));
        unitTests.add(new UT_rsdebug(this, mRes, mCtx));
        unitTests.add(new UT_rstime(this, mRes, mCtx));
        unitTests.add(new UT_rstypes(this, mRes, mCtx));
        unitTests.add(new UT_fp_mad(this, mRes, mCtx));
        /*
+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.Context;
import android.content.res.Resources;
import android.renderscript.*;

public class UT_rstime extends UnitTest {
    private Resources mRes;

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

    public void run() {
        RenderScript pRS = RenderScript.create(mCtx);
        ScriptC_rstime s = new ScriptC_rstime(pRS, mRes, R.raw.rstime);
        pRS.setMessageHandler(mRsMessage);
        s.invoke_test_rstime(0, 0);
        pRS.finish();
        waitForMessage();
        pRS.destroy();
    }
}
+52 −0
Original line number Diff line number Diff line
#include "shared.rsh"

static bool basic_test(uint32_t index) {
    bool failed = false;

    rs_time_t curTime = rsTime(0);
    rs_tm tm;
    rsDebug("curTime", curTime);

    rsLocaltime(&tm, &curTime);

    rsDebug("tm.tm_sec", tm.tm_sec);
    rsDebug("tm.tm_min", tm.tm_min);
    rsDebug("tm.tm_hour", tm.tm_hour);
    rsDebug("tm.tm_mday", tm.tm_mday);
    rsDebug("tm.tm_mon", tm.tm_mon);
    rsDebug("tm.tm_year", tm.tm_year);
    rsDebug("tm.tm_wday", tm.tm_wday);
    rsDebug("tm.tm_yday", tm.tm_yday);
    rsDebug("tm.tm_isdst", tm.tm_isdst);

    // Test a specific time (only valid for PST localtime)
    curTime = 1294438893;
    rsLocaltime(&tm, &curTime);

    _RS_ASSERT(tm.tm_sec == 33);
    _RS_ASSERT(tm.tm_min == 21);
    _RS_ASSERT(tm.tm_hour == 14);
    _RS_ASSERT(tm.tm_mday == 7);
    _RS_ASSERT(tm.tm_mon == 0);
    _RS_ASSERT(tm.tm_year == 111);
    _RS_ASSERT(tm.tm_wday == 5);
    _RS_ASSERT(tm.tm_yday == 6);
    _RS_ASSERT(tm.tm_isdst == 0);

    return failed;
}

void test_rstime(uint32_t index, int test_num) {
    bool failed = false;
    failed |= basic_test(index);

    if (failed) {
        rsSendToClientBlocking(RS_MSG_TEST_FAILED);
        rsDebug("rstime_test FAILED", -1);
    }
    else {
        rsSendToClientBlocking(RS_MSG_TEST_PASSED);
        rsDebug("rstime_test PASSED", 0);
    }
}
+1 −0
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ pthread_key_t Context::gThreadTLSKey = 0;
uint32_t Context::gThreadTLSKeyCount = 0;
uint32_t Context::gGLContextCount = 0;
pthread_mutex_t Context::gInitMutex = PTHREAD_MUTEX_INITIALIZER;
pthread_mutex_t Context::gLibMutex = PTHREAD_MUTEX_INITIALIZER;

static void checkEglError(const char* op, EGLBoolean returnVal = EGL_TRUE) {
    if (returnVal != EGL_TRUE) {
+2 −0
Original line number Diff line number Diff line
@@ -75,6 +75,8 @@ public:
    static uint32_t gThreadTLSKeyCount;
    static uint32_t gGLContextCount;
    static pthread_mutex_t gInitMutex;
    // Library mutex (for providing thread-safe calls from the runtime)
    static pthread_mutex_t gLibMutex;

    struct ScriptTLSStruct {
        Context * mContext;
Loading