diff options
| -rw-r--r-- | graphics/java/android/renderscript/RenderScript.java | 3 | ||||
| -rw-r--r-- | libs/rs/rsContext.cpp | 11 |
2 files changed, 9 insertions, 5 deletions
diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java index 4c505ec..eea0986 100644 --- a/graphics/java/android/renderscript/RenderScript.java +++ b/graphics/java/android/renderscript/RenderScript.java @@ -839,6 +839,9 @@ public class RenderScript { rs.mDev = rs.nDeviceCreate(); rs.mContext = rs.nContextCreate(rs.mDev, 0); + if (rs.mContext == 0) { + throw new RSDriverException("Failed to create RS context."); + } rs.mMessageThread = new MessageThread(rs); rs.mMessageThread.start(); return rs; diff --git a/libs/rs/rsContext.cpp b/libs/rs/rsContext.cpp index 6d63f67..e2e14f2 100644 --- a/libs/rs/rsContext.cpp +++ b/libs/rs/rsContext.cpp @@ -270,17 +270,18 @@ void * Context::threadProc(void *vrsc) { rsc->props.mLogVisual = getProp("debug.rs.visual"); if (!rsdHalInit(rsc, 0, 0)) { + rsc->setError(RS_ERROR_FATAL_DRIVER, "Failed initializing GL"); LOGE("Hal init failed"); return NULL; } rsc->mHal.funcs.setPriority(rsc, rsc->mThreadPriority); - if (!rsc->initGLThread()) { - rsc->setError(RS_ERROR_OUT_OF_MEMORY, "Failed initializing GL"); - return NULL; - } - if (rsc->mIsGraphicsContext) { + if (!rsc->initGLThread()) { + rsc->setError(RS_ERROR_OUT_OF_MEMORY, "Failed initializing GL"); + return NULL; + } + rsc->mStateRaster.init(rsc); rsc->setProgramRaster(NULL); rsc->mStateVertex.init(rsc); |
