diff options
| author | 2012-02-07 16:14:11 -0800 | |
|---|---|---|
| committer | 2012-02-07 16:25:25 -0800 | |
| commit | a9eb319965da1f2d59c06135d0d8d4631312bfff (patch) | |
| tree | 32dd43dcbb94cfa8098ea7f59e189014c78d60a2 /tests/RenderScriptTests/SceneGraph | |
| parent | f835ca02713e34b0939957389a21022a9a6ce5c9 (diff) | |
Making a graceful fallback for missing textures.
Change-Id: Ib628d8344ab9bdd5f82c61a599c42a4c7ca3052e
Diffstat (limited to 'tests/RenderScriptTests/SceneGraph')
6 files changed, 10 insertions, 9 deletions
diff --git a/tests/RenderScriptTests/SceneGraph/res/drawable-nodpi/checker.png b/tests/RenderScriptTests/SceneGraph/res/drawable-nodpi/checker.png Binary files differdeleted file mode 100644 index 4bf9de5b5bb2..000000000000 --- a/tests/RenderScriptTests/SceneGraph/res/drawable-nodpi/checker.png +++ /dev/null diff --git a/tests/RenderScriptTests/SceneGraph/res/drawable-nodpi/defaultcube.png b/tests/RenderScriptTests/SceneGraph/res/drawable-nodpi/defaultcube.png Binary files differdeleted file mode 100644 index 351fc125aeb7..000000000000 --- a/tests/RenderScriptTests/SceneGraph/res/drawable-nodpi/defaultcube.png +++ /dev/null diff --git a/tests/RenderScriptTests/SceneGraph/src/com/android/scenegraph/SceneManager.java b/tests/RenderScriptTests/SceneGraph/src/com/android/scenegraph/SceneManager.java index 0f14486b4285..f77f48323770 100644 --- a/tests/RenderScriptTests/SceneGraph/src/com/android/scenegraph/SceneManager.java +++ b/tests/RenderScriptTests/SceneGraph/src/com/android/scenegraph/SceneManager.java @@ -111,8 +111,8 @@ public class SceneManager extends SceneGraphBase { if (sSceneManager == null) { return null; } - if (sSceneManager.sDefaultCube != null) { - sSceneManager.sDefault2D = getDefault(true); + if (sSceneManager.sDefaultCube == null) { + sSceneManager.sDefaultCube = getDefault(true); } return sSceneManager.sDefaultCube; } @@ -156,6 +156,9 @@ public class SceneManager extends SceneGraphBase { public static Allocation loadCubemap(String name, RenderScriptGL rs, Resources res) { Bitmap b = loadBitmap(name, res); + if (b == null) { + return null; + } return Allocation.createCubemapFromBitmap(rs, b, MipmapControl.MIPMAP_ON_SYNC_TO_TEXTURE, Allocation.USAGE_GRAPHICS_TEXTURE); @@ -163,6 +166,9 @@ public class SceneManager extends SceneGraphBase { public static Allocation loadTexture2D(String name, RenderScriptGL rs, Resources res) { Bitmap b = loadBitmap(name, res); + if (b == null) { + return null; + } return Allocation.createFromBitmap(rs, b, Allocation.MipmapControl.MIPMAP_ON_SYNC_TO_TEXTURE, Allocation.USAGE_GRAPHICS_TEXTURE); @@ -336,10 +342,6 @@ public class SceneManager extends SceneGraphBase { mRenderLoop.set_gVertexParamsScript(mVertexParamsScript); mRenderLoop.set_gCullScript(mCullScript); - Allocation checker = Allocation.createFromBitmapResource(mRS, mRes, R.drawable.checker, - MipmapControl.MIPMAP_ON_SYNC_TO_TEXTURE, - Allocation.USAGE_GRAPHICS_TEXTURE); - mRenderLoop.set_gTGrid(checker); mRenderLoop.set_gPFSBackground(ProgramStore.BLEND_NONE_DEPTH_TEST(mRS)); } diff --git a/tests/RenderScriptTests/SceneGraph/src/com/android/scenegraph/Texture2D.java b/tests/RenderScriptTests/SceneGraph/src/com/android/scenegraph/Texture2D.java index 0809df8666fc..8fae9d931700 100644 --- a/tests/RenderScriptTests/SceneGraph/src/com/android/scenegraph/Texture2D.java +++ b/tests/RenderScriptTests/SceneGraph/src/com/android/scenegraph/Texture2D.java @@ -53,7 +53,7 @@ public class Texture2D extends TextureBase { } public void setTexture(Allocation tex) { - mData.texture = tex; + mData.texture = tex != null ? tex : SceneManager.getDefaultTex2D(); if (mField != null) { mField.set_texture(0, mData.texture, true); } diff --git a/tests/RenderScriptTests/SceneGraph/src/com/android/scenegraph/TextureCube.java b/tests/RenderScriptTests/SceneGraph/src/com/android/scenegraph/TextureCube.java index 05870e7531e4..12c81c20dd11 100644 --- a/tests/RenderScriptTests/SceneGraph/src/com/android/scenegraph/TextureCube.java +++ b/tests/RenderScriptTests/SceneGraph/src/com/android/scenegraph/TextureCube.java @@ -60,7 +60,7 @@ public class TextureCube extends TextureBase { } public void setTexture(Allocation tex) { - mData.texture = tex; + mData.texture = tex != null ? tex : SceneManager.getDefaultTexCube(); if (mField != null) { mField.set_texture(0, mData.texture, true); } diff --git a/tests/RenderScriptTests/SceneGraph/src/com/android/scenegraph/render.rs b/tests/RenderScriptTests/SceneGraph/src/com/android/scenegraph/render.rs index aea01135e5b4..d8d48b3da25c 100644 --- a/tests/RenderScriptTests/SceneGraph/src/com/android/scenegraph/render.rs +++ b/tests/RenderScriptTests/SceneGraph/src/com/android/scenegraph/render.rs @@ -37,7 +37,6 @@ rs_allocation gRenderableObjects; rs_allocation gRenderPasses; // Temporary shaders -rs_allocation gTGrid; rs_program_store gPFSBackground; uint32_t *gFrontToBack; |