Loading core/java/android/view/DisplayList.java +0 −2 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ package android.view; import android.os.Handler; /** * A display lists records a series of graphics related operation and can replay * them later. Display lists are usually built by recording operations on a Loading core/java/android/view/HardwareRenderer.java +19 −9 Original line number Diff line number Diff line Loading @@ -464,8 +464,8 @@ public abstract class HardwareRenderer { static final Object[] sEglLock = new Object[0]; int mWidth = -1, mHeight = -1; static final ThreadLocal<Gl20Renderer.Gl20RendererEglContext> sEglContextStorage = new ThreadLocal<Gl20Renderer.Gl20RendererEglContext>(); static final ThreadLocal<ManagedEGLContext> sEglContextStorage = new ThreadLocal<ManagedEGLContext>(); EGLContext mEglContext; Thread mEglThread; Loading Loading @@ -622,7 +622,7 @@ public abstract class HardwareRenderer { } } abstract GLES20Canvas createCanvas(); abstract HardwareCanvas createCanvas(); abstract int[] getConfig(boolean dirtyRegions); Loading Loading @@ -662,16 +662,18 @@ public abstract class HardwareRenderer { } } Gl20Renderer.Gl20RendererEglContext managedContext = sEglContextStorage.get(); ManagedEGLContext managedContext = sEglContextStorage.get(); mEglContext = managedContext != null ? managedContext.getContext() : null; mEglThread = Thread.currentThread(); if (mEglContext == null) { mEglContext = createContext(sEgl, sEglDisplay, sEglConfig); sEglContextStorage.set(new Gl20Renderer.Gl20RendererEglContext(mEglContext)); sEglContextStorage.set(createManagedContext(mEglContext)); } } abstract ManagedEGLContext createManagedContext(EGLContext eglContext); private EGLConfig chooseEglConfig() { EGLConfig[] configs = new EGLConfig[1]; int[] configsCount = new int[1]; Loading Loading @@ -1103,7 +1105,8 @@ public abstract class HardwareRenderer { // Make sure we do this on the correct thread. if (mHandler.getLooper() != Looper.myLooper()) { mHandler.post(new Runnable() { @Override public void run() { @Override public void run() { onTerminate(eglContext); } }); Loading Loading @@ -1142,10 +1145,15 @@ public abstract class HardwareRenderer { } @Override GLES20Canvas createCanvas() { HardwareCanvas createCanvas() { return mGlCanvas = new GLES20Canvas(mTranslucent); } @Override ManagedEGLContext createManagedContext(EGLContext eglContext) { return new Gl20Renderer.Gl20RendererEglContext(mEglContext); } @Override int[] getConfig(boolean dirtyRegions) { return new int[] { Loading Loading @@ -1249,7 +1257,8 @@ public abstract class HardwareRenderer { if (isEnabled() && checkCurrent() != SURFACE_STATE_ERROR) needsContext = false; if (needsContext) { Gl20RendererEglContext managedContext = sEglContextStorage.get(); Gl20RendererEglContext managedContext = (Gl20RendererEglContext) sEglContextStorage.get(); if (managedContext == null) return; usePbufferSurface(managedContext.getContext()); } Loading Loading @@ -1282,7 +1291,8 @@ public abstract class HardwareRenderer { static void trimMemory(int level) { if (sEgl == null || sEglConfig == null) return; Gl20RendererEglContext managedContext = sEglContextStorage.get(); Gl20RendererEglContext managedContext = (Gl20RendererEglContext) sEglContextStorage.get(); // We do not have OpenGL objects if (managedContext == null) { return; Loading Loading
core/java/android/view/DisplayList.java +0 −2 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ package android.view; import android.os.Handler; /** * A display lists records a series of graphics related operation and can replay * them later. Display lists are usually built by recording operations on a Loading
core/java/android/view/HardwareRenderer.java +19 −9 Original line number Diff line number Diff line Loading @@ -464,8 +464,8 @@ public abstract class HardwareRenderer { static final Object[] sEglLock = new Object[0]; int mWidth = -1, mHeight = -1; static final ThreadLocal<Gl20Renderer.Gl20RendererEglContext> sEglContextStorage = new ThreadLocal<Gl20Renderer.Gl20RendererEglContext>(); static final ThreadLocal<ManagedEGLContext> sEglContextStorage = new ThreadLocal<ManagedEGLContext>(); EGLContext mEglContext; Thread mEglThread; Loading Loading @@ -622,7 +622,7 @@ public abstract class HardwareRenderer { } } abstract GLES20Canvas createCanvas(); abstract HardwareCanvas createCanvas(); abstract int[] getConfig(boolean dirtyRegions); Loading Loading @@ -662,16 +662,18 @@ public abstract class HardwareRenderer { } } Gl20Renderer.Gl20RendererEglContext managedContext = sEglContextStorage.get(); ManagedEGLContext managedContext = sEglContextStorage.get(); mEglContext = managedContext != null ? managedContext.getContext() : null; mEglThread = Thread.currentThread(); if (mEglContext == null) { mEglContext = createContext(sEgl, sEglDisplay, sEglConfig); sEglContextStorage.set(new Gl20Renderer.Gl20RendererEglContext(mEglContext)); sEglContextStorage.set(createManagedContext(mEglContext)); } } abstract ManagedEGLContext createManagedContext(EGLContext eglContext); private EGLConfig chooseEglConfig() { EGLConfig[] configs = new EGLConfig[1]; int[] configsCount = new int[1]; Loading Loading @@ -1103,7 +1105,8 @@ public abstract class HardwareRenderer { // Make sure we do this on the correct thread. if (mHandler.getLooper() != Looper.myLooper()) { mHandler.post(new Runnable() { @Override public void run() { @Override public void run() { onTerminate(eglContext); } }); Loading Loading @@ -1142,10 +1145,15 @@ public abstract class HardwareRenderer { } @Override GLES20Canvas createCanvas() { HardwareCanvas createCanvas() { return mGlCanvas = new GLES20Canvas(mTranslucent); } @Override ManagedEGLContext createManagedContext(EGLContext eglContext) { return new Gl20Renderer.Gl20RendererEglContext(mEglContext); } @Override int[] getConfig(boolean dirtyRegions) { return new int[] { Loading Loading @@ -1249,7 +1257,8 @@ public abstract class HardwareRenderer { if (isEnabled() && checkCurrent() != SURFACE_STATE_ERROR) needsContext = false; if (needsContext) { Gl20RendererEglContext managedContext = sEglContextStorage.get(); Gl20RendererEglContext managedContext = (Gl20RendererEglContext) sEglContextStorage.get(); if (managedContext == null) return; usePbufferSurface(managedContext.getContext()); } Loading Loading @@ -1282,7 +1291,8 @@ public abstract class HardwareRenderer { static void trimMemory(int level) { if (sEgl == null || sEglConfig == null) return; Gl20RendererEglContext managedContext = sEglContextStorage.get(); Gl20RendererEglContext managedContext = (Gl20RendererEglContext) sEglContextStorage.get(); // We do not have OpenGL objects if (managedContext == null) { return; Loading