diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-03-08 01:00:03 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2023-03-08 01:00:03 +0000 |
commit | 7cd9435e782e95174814cbf37020788997a31aef (patch) | |
tree | 0f659b0bab4fedbd7add06cf17ca9cdd9e8f71db | |
parent | eedae78d744a9dab42e0a6b442dce91fb05a32af (diff) | |
parent | 651729e8cebf40a7a1d2c3a7ceb504ae3064f913 (diff) | |
download | qemu-snap-temp-L49800000959000435.tar.gz |
Merge "Check for no window for nVidia flickering issue" into snap-temp-L49800000959000435snap-temp-L49800000959000435
3 files changed, 10 insertions, 6 deletions
diff --git a/android/android-emu/android/window-agent-headless-impl.cpp b/android/android-emu/android/window-agent-headless-impl.cpp index 0b6f09b4f2..1fc9b1802c 100644 --- a/android/android-emu/android/window-agent-headless-impl.cpp +++ b/android/android-emu/android/window-agent-headless-impl.cpp @@ -165,6 +165,7 @@ static const QAndroidEmulatorWindowAgent sQAndroidEmulatorWindowAgent = { []() { return false; }, .changeResizableDisplay = [](int presetSize) { return false; }, + .hasWindow = [] { return false; }, }; extern "C" const QAndroidEmulatorWindowAgent* const gQAndroidEmulatorWindowAgent = diff --git a/android/android-emu/android/window-agent-impl.cpp b/android/android-emu/android/window-agent-impl.cpp index 178133b0f7..3a4b3401e2 100644 --- a/android/android-emu/android/window-agent-impl.cpp +++ b/android/android-emu/android/window-agent-impl.cpp @@ -315,6 +315,7 @@ static const QAndroidEmulatorWindowAgent sQAndroidEmulatorWindowAgent = { } return false; }, + .hasWindow = [] { return true; }, }; extern "C" const QAndroidEmulatorWindowAgent* const diff --git a/android/android-emugl/host/libs/libOpenglRender/PostWorker.cpp b/android/android-emugl/host/libs/libOpenglRender/PostWorker.cpp index a40b326b80..48298bfd09 100644 --- a/android/android-emugl/host/libs/libOpenglRender/PostWorker.cpp +++ b/android/android-emugl/host/libs/libOpenglRender/PostWorker.cpp @@ -53,12 +53,14 @@ PostWorker::PostWorker( mContext(eglContext), mSurface(eglSurface) { #ifdef _WIN32 - const char* vendor; - const char* renderer; - const char* version; - mFb->getGLStrings(&vendor, &renderer, &version); - // nVidia GeForce specific bug, does not even repro with Quadro - m_b246917660workAround = strstr(renderer, "GeForce") != nullptr; + if (emugl::get_emugl_window_operations().hasWindow()) { + const char* vendor; + const char* renderer; + const char* version; + mFb->getGLStrings(&vendor, &renderer, &version); + // nVidia GeForce specific bug, does not even repro with Quadro + m_b246917660workAround = strstr(renderer, "GeForce") != nullptr; + } #endif } |