aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-03-08 01:00:03 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2023-03-08 01:00:03 +0000
commit7cd9435e782e95174814cbf37020788997a31aef (patch)
tree0f659b0bab4fedbd7add06cf17ca9cdd9e8f71db
parenteedae78d744a9dab42e0a6b442dce91fb05a32af (diff)
parent651729e8cebf40a7a1d2c3a7ceb504ae3064f913 (diff)
downloadqemu-snap-temp-L49800000959000435.tar.gz
Merge "Check for no window for nVidia flickering issue" into snap-temp-L49800000959000435snap-temp-L49800000959000435
-rw-r--r--android/android-emu/android/window-agent-headless-impl.cpp1
-rw-r--r--android/android-emu/android/window-agent-impl.cpp1
-rw-r--r--android/android-emugl/host/libs/libOpenglRender/PostWorker.cpp14
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
}