1. 18 Apr, 2012 1 commit
  2. 16 Apr, 2012 1 commit
  3. 13 Apr, 2012 6 commits
  4. 12 Apr, 2012 8 commits
  5. 11 Apr, 2012 8 commits
  6. 10 Apr, 2012 4 commits
    • Daniel Lam's avatar
      BufferQueue returns proper code on acquire · fbcda930
      Daniel Lam authored
      Also removed unnecessary debug messages from
      SurfaceTextureClient.
      
      Change-Id: I291897a44170142f9d42a007b008823fad4683e0
      fbcda930
    • Jesse Hall's avatar
      Hibernate the EGL implementation when idle · 25838597
      Jesse Hall authored
      If the EGL implementation supports the EGL_IMG_hibernate_process
      extension, use it to hibernate (and hopefully release memory or other
      resources) when the process isn't actively using EGL or OpenGL ES. The
      idleness heuristic used in this change is:
      
      (a) Wake up when entering any EGL API call, and remain awake for the
          duration of the call.
      (b) Do not hibernate when any window surface exists; this means the
          application is very likely in the foreground.
      (c) Do not hibernate while any context is made current to a thread.
          The app may be using a client API without the EGL layer knowing,
          so it is not safe to hibernate.
      (d) Only check these conditions and attempt to hibernate after a
          window surface is destroyed or a thread's context is detached. By
          not attempting to hibernate at the end of every EGL call, we avoid
          some transient wakeups/hibernate cycles when the app is mostly idle,
          or is starting to become active but hasn't created its window
          surface yet.
      
      On a Galaxy Nexus, hibernating frees 1567 VM pages from the process.
      Both hibernating and waking can take anywhere from 30ms to over 100ms
      -- measurements have been very inconsistent.
      
      Change-Id: Ib555f5d9d069aefccca06e8173a89625b5f32d7e
      25838597
    • Jesse Hall's avatar
      Increment/decrement a counter around EGL calls · b29e5e8c
      Jesse Hall authored
      This is in preparation for a change that will hibernate the underlying
      EGL when idle. Instead of a bare egl_display_t*, get_display() now
      returns a egl_display_ptr, which acts like a smart pointer. The
      "wakecount" counter managed by the smart pointer isn't used for
      anything in this change. It will be used to make sure we don't
      hibernate when any thread is in an EGL call, without having to hold a
      mutex for the duration of the call.
      
      Change-Id: Iee52f3549a51162efc3800e1195d3f76bba2f2ce
      b29e5e8c
    • Mathias Agopian's avatar
      d5caca1d
  7. 09 Apr, 2012 2 commits
  8. 08 Apr, 2012 1 commit
  9. 07 Apr, 2012 1 commit
  10. 06 Apr, 2012 8 commits