Merge "Remove the extra buffer allocation from hwui" into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
5001447b86
@@ -174,16 +174,12 @@ void CanvasContext::setSurface(ANativeWindow* window, bool enableTimeout) {
|
||||
ATRACE_CALL();
|
||||
|
||||
if (window) {
|
||||
int extraBuffers = 0;
|
||||
native_window_get_extra_buffer_count(window, &extraBuffers);
|
||||
|
||||
mNativeSurface = std::make_unique<ReliableSurface>(window);
|
||||
mNativeSurface->init();
|
||||
if (enableTimeout) {
|
||||
// TODO: Fix error handling & re-shorten timeout
|
||||
ANativeWindow_setDequeueTimeout(window, 4000_ms);
|
||||
}
|
||||
mNativeSurface->setExtraBufferCount(extraBuffers);
|
||||
} else {
|
||||
mNativeSurface = nullptr;
|
||||
}
|
||||
|
||||
@@ -278,7 +278,6 @@ int ReliableSurface::hook_query(const ANativeWindow *window, ANativeWindow_query
|
||||
int result = query(window, what, value);
|
||||
if (what == ANATIVEWINDOW_QUERY_MIN_UNDEQUEUED_BUFFERS && result == OK) {
|
||||
std::lock_guard _lock{rs->mMutex};
|
||||
*value += rs->mExtraBuffers;
|
||||
rs->mExpectedBufferCount = *value + 2;
|
||||
}
|
||||
return result;
|
||||
|
||||
@@ -51,11 +51,6 @@ public:
|
||||
return ret;
|
||||
}
|
||||
|
||||
void setExtraBufferCount(size_t extraBuffers) {
|
||||
std::lock_guard _lock{mMutex};
|
||||
mExtraBuffers = extraBuffers;
|
||||
}
|
||||
|
||||
bool didSetExtraBuffers() const {
|
||||
std::lock_guard _lock{mMutex};
|
||||
return mDidSetExtraBuffers;
|
||||
@@ -73,7 +68,6 @@ private:
|
||||
base::unique_fd mReservedFenceFd;
|
||||
bool mHasDequeuedBuffer = false;
|
||||
int mBufferQueueState = OK;
|
||||
size_t mExtraBuffers = 0;
|
||||
size_t mExpectedBufferCount = 0;
|
||||
bool mDidSetExtraBuffers = false;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user