1. 15 Dec, 2015 3 commits
  2. 14 Dec, 2015 4 commits
  3. 11 Dec, 2015 5 commits
  4. 10 Dec, 2015 1 commit
  5. 09 Dec, 2015 3 commits
    • Christopher Wiley's avatar
    • Christopher Wiley's avatar
      libbinder: Enable service specific error codes · c1e491d5
      Christopher Wiley authored
      Add another factory method that takes a message and service
      specific error code.
      
      Bug: 25800533
      Test: system/tools/aidl integration tests pass
      
      Change-Id: I592cb7def0538576965d14c200ab58548b3bef32
      c1e491d5
    • Colin Cross's avatar
      Fix allocation count · 83ec65e1
      Colin Cross authored
      The realloc case in continueWrite should not increment the counter,
      the pointer passed to realloc is guaranteed to be non-NULL so the total
      number of allocations will not have changed.
      
      When realloc is called in restartWrite mData has not been checked
      against NULL, increment the counter if it was NULL.
      
      Bug: 26086286
      Change-Id: I4c8af450cca1868b91793c0c5f0d8c4b4b5badbe
      83ec65e1
  6. 08 Dec, 2015 2 commits
  7. 07 Dec, 2015 3 commits
    • Dimitry Ivanov's avatar
      Merge "Replace libGLESv3 symlink with shared library" · bc432368
      Dimitry Ivanov authored
      am: 18ff6557
      
      * commit '18ff6557':
        Replace libGLESv3 symlink with shared library
      bc432368
    • Dimitry Ivanov's avatar
      18ff6557
    • Christian Poetzsch's avatar
      Fix the execution point of onFrameAvailable/onFrameReplaced callbacks · 82fbb121
      Christian Poetzsch authored
      In a4650a50
      
       the concept of a maximum frame number allowance for the consumer was
      introduced. A call to acquireBuffers will only return buffers when their frame
      number is less-than-or-equal-to this maximum frame number. When SurfaceFlinger
      is the consumer, this maximum  frame number is calculated in the
      onFrameAvailable/onFrameReplaced callbacks. These callbacks are called when a
      new buffer is dequeued by the application. The problem is that these callbacks
      are called _after_ the fence wait which is used to throttle the frame
      production of client apps. When the previous frame needs a long time to draw,
      those waits can potentially be a long time. As a result SurfaceFlinger won't do
      any composition with the new frame until the wait is over.
      
      Normally this isn't a big problem because there is a queue of buffers for
      SurfaceFlinger to work with. However, this changes massively when a client app
      is using a swap interval of zero. In this case, a new frame will instantly
      replace the previous queued frame. However, SurfaceFlinger doesn't know this
      until the onFrameReplaced callback gets called - which is delayed by the fence
      wait. If the timing is bad, SurfaceFlinger never gets a chance to pick up a new
      frame to do the composition with.
      
      We see this behaviour on our TC development system (slow GPU) with legacy
      on-screen benchmarks. Such apps are using a swap interval of zero and sometimes
      frames don't get updated for several seconds. This behaviour can be also seen
      on a Nexus5, although it isn't as obvious as on our TC.
      
      The fix in this cl is to move the EGL throttling to the end of the queueBuffers
      function. This ensures that if a frame gets replaced in the queue, all
      consumers who installed the callbacks, get called in a timely fashion.
      
      Change-Id: I36e9ecda162150f41e97d4fb7437963a3d86b371
      Signed-off-by: default avatarChristian Poetzsch <christian.potzsch@imgtec.com>
      82fbb121
  8. 05 Dec, 2015 8 commits
  9. 04 Dec, 2015 1 commit
  10. 03 Dec, 2015 3 commits
  11. 02 Dec, 2015 3 commits
  12. 30 Nov, 2015 3 commits
  13. 23 Nov, 2015 1 commit