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

Commit 77f77f90 authored by Android (Google) Code Review's avatar Android (Google) Code Review
Browse files

Merge change 22231 into eclair

* changes:
  Add support for selecting the color bit depth and if the application used a depth buffer.
parents 4025dbd9 b13ada50
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -141,15 +141,12 @@ public class RSSurfaceView extends SurfaceView implements SurfaceHolder.Callback

    // ----------------------------------------------------------------------

    public RenderScript createRenderScript() {
        Log.v(RenderScript.LOG_TAG, "createRenderScript 1");
    public RenderScript createRenderScript(boolean useDepth) {
        Surface sur = null;
        while ((sur == null) || (mSurfaceHolder == null)) {
            sur = getHolder().getSurface();
        }
        Log.v(RenderScript.LOG_TAG, "createRenderScript 2");
        RenderScript rs = new RenderScript(sur);
        Log.v(RenderScript.LOG_TAG, "createRenderScript 3 rs");
        RenderScript rs = new RenderScript(sur, useDepth);
        return rs;
    }

+3 −3
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@ public class RenderScript {

    native int  nDeviceCreate();
    native void nDeviceDestroy(int dev);
    native int  nContextCreate(int dev, Surface sur, int ver);
    native int  nContextCreate(int dev, Surface sur, int ver, boolean useDepth);
    native void nContextDestroy(int con);

    //void rsContextBindSampler (uint32_t slot, RsSampler sampler);
@@ -194,10 +194,10 @@ public class RenderScript {
    ///////////////////////////////////////////////////////////////////////////////////
    //

    public RenderScript(Surface sur) {
    public RenderScript(Surface sur, boolean useDepth) {
        mSurface = sur;
        mDev = nDeviceCreate();
        mContext = nContextCreate(mDev, mSurface, 0);
        mContext = nContextCreate(mDev, mSurface, 0, useDepth);

        // TODO: This should be protected by a lock
        if(!mElementsInitialized) {
+3 −3
Original line number Diff line number Diff line
@@ -126,7 +126,7 @@ nDeviceDestroy(JNIEnv *_env, jobject _this, jint dev)
}

static jint
nContextCreate(JNIEnv *_env, jobject _this, jint dev, jobject wnd, jint ver)
nContextCreate(JNIEnv *_env, jobject _this, jint dev, jobject wnd, jint ver, jboolean useDepth)
{
    LOG_API("nContextCreate");

@@ -142,7 +142,7 @@ nContextCreate(JNIEnv *_env, jobject _this, jint dev, jobject wnd, jint ver)
    if (window == NULL)
        goto not_valid_surface;

    return (jint)rsContextCreate((RsDevice)dev, window, ver);
    return (jint)rsContextCreate((RsDevice)dev, window, ver, useDepth);
}

static void
@@ -1206,7 +1206,7 @@ static JNINativeMethod methods[] = {
{"_nInit",                         "()V",                                  (void*)_nInit },
{"nDeviceCreate",                  "()I",                                  (void*)nDeviceCreate },
{"nDeviceDestroy",                 "(I)V",                                 (void*)nDeviceDestroy },
{"nContextCreate",                 "(ILandroid/view/Surface;I)I",          (void*)nContextCreate },
{"nContextCreate",                 "(ILandroid/view/Surface;IZ)I",         (void*)nContextCreate },
{"nContextDestroy",                "(I)V",                                 (void*)nContextDestroy },
{"nAssignName",                    "(I[B)V",                               (void*)nAssignName },
{"nObjDestroy",                    "(I)V",                                 (void*)nObjDestroy },
+1 −1
Original line number Diff line number Diff line
@@ -49,7 +49,7 @@ typedef void * RsProgramFragmentStore;
RsDevice rsDeviceCreate();
void rsDeviceDestroy(RsDevice);

RsContext rsContextCreate(RsDevice, void *, uint32_t version);
RsContext rsContextCreate(RsDevice, void *, uint32_t version, bool useDepth);
void rsContextDestroy(RsContext);
void rsObjDestroyOOB(RsContext, void *);

+1 −1
Original line number Diff line number Diff line
@@ -36,7 +36,7 @@ class FallView extends RSSurfaceView {
    public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
        super.surfaceChanged(holder, format, w, h);

        RenderScript RS = createRenderScript();
        RenderScript RS = createRenderScript(false);
        mRender = new FallRS(w, h);
        mRender.init(RS, getResources());
    }
Loading