Merge "Fix override setBufferCount" into rvc-qpr-dev am: 104baf809b

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12654707

Change-Id: I65b1292e72312463ef435bd1db6f6524114a4cac
This commit is contained in:
John Reck
2020-09-22 01:42:51 +00:00
committed by Automerger Merge Worker

View File

@@ -139,7 +139,7 @@ void CanvasContext::destroy() {
mAnimationContext->destroy(); mAnimationContext->destroy();
} }
static void setBufferCount(ANativeWindow* window, uint32_t extraBuffers) { static void setBufferCount(ANativeWindow* window) {
int query_value; int query_value;
int err = window->query(window, NATIVE_WINDOW_MIN_UNDEQUEUED_BUFFERS, &query_value); int err = window->query(window, NATIVE_WINDOW_MIN_UNDEQUEUED_BUFFERS, &query_value);
if (err != 0 || query_value < 0) { if (err != 0 || query_value < 0) {
@@ -148,7 +148,9 @@ static void setBufferCount(ANativeWindow* window, uint32_t extraBuffers) {
} }
auto min_undequeued_buffers = static_cast<uint32_t>(query_value); auto min_undequeued_buffers = static_cast<uint32_t>(query_value);
int bufferCount = min_undequeued_buffers + 2 + extraBuffers; // We only need to set min_undequeued + 2 because the renderahead amount was already factored into the
// query for min_undequeued
int bufferCount = min_undequeued_buffers + 2;
native_window_set_buffer_count(window, bufferCount); native_window_set_buffer_count(window, bufferCount);
} }
@@ -179,7 +181,8 @@ void CanvasContext::setSurface(ANativeWindow* window, bool enableTimeout) {
mNativeSurface ? mNativeSurface->getNativeWindow() : nullptr, mSwapBehavior); mNativeSurface ? mNativeSurface->getNativeWindow() : nullptr, mSwapBehavior);
if (mNativeSurface && !mNativeSurface->didSetExtraBuffers()) { if (mNativeSurface && !mNativeSurface->didSetExtraBuffers()) {
setBufferCount(mNativeSurface->getNativeWindow(), mRenderAheadCapacity); setBufferCount(mNativeSurface->getNativeWindow());
} }
mFrameNumber = -1; mFrameNumber = -1;