123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- From: csagan5 <32685696+csagan5@users.noreply.github.com>
- Date: Tue, 5 May 2020 07:22:20 +0200
- Subject: Revert "gpu/android: Remove setup for disabling AImageReader."
- This reverts commit dcd5a39518246eb999f1cc63bf1ec95d93fd5b2f.
- ---
- base/android/android_image_reader_compat.cc | 8 +++++++-
- base/android/android_image_reader_compat.h | 4 ++++
- gpu/config/gpu_util.cc | 8 ++++++++
- gpu/config/gpu_workaround_list.txt | 1 +
- gpu/ipc/service/gpu_init.cc | 11 +++++++++++
- 5 files changed, 31 insertions(+), 1 deletion(-)
- diff --git a/base/android/android_image_reader_compat.cc b/base/android/android_image_reader_compat.cc
- --- a/base/android/android_image_reader_compat.cc
- +++ b/base/android/android_image_reader_compat.cc
- @@ -22,6 +22,8 @@
- namespace base {
- namespace android {
-
- +bool AndroidImageReader::disable_support_ = false;
- +
- AndroidImageReader& AndroidImageReader::GetInstance() {
- // C++11 static local variable initialization is
- // thread-safe.
- @@ -29,8 +31,12 @@ AndroidImageReader& AndroidImageReader::GetInstance() {
- return *instance;
- }
-
- +void AndroidImageReader::DisableSupport() {
- + disable_support_ = true;
- +}
- +
- bool AndroidImageReader::IsSupported() {
- - return is_supported_;
- + return !disable_support_ && is_supported_;
- }
-
- AndroidImageReader::AndroidImageReader() {
- diff --git a/base/android/android_image_reader_compat.h b/base/android/android_image_reader_compat.h
- --- a/base/android/android_image_reader_compat.h
- +++ b/base/android/android_image_reader_compat.h
- @@ -22,6 +22,9 @@ class BASE_EXPORT AndroidImageReader {
- // Thread safe GetInstance.
- static AndroidImageReader& GetInstance();
-
- + // Disable image reader support.
- + static void DisableSupport();
- +
- // Check if the image reader usage is supported. This function returns TRUE
- // if android version is >=OREO, image reader support is not disabled and all
- // the required functions are loaded.
- @@ -64,6 +67,7 @@ class BASE_EXPORT AndroidImageReader {
- AndroidImageReader();
- bool LoadFunctions();
-
- + static bool disable_support_;
- bool is_supported_;
- pAImage_delete AImage_delete_;
- pAImage_deleteAsync AImage_deleteAsync_;
- diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
- --- a/gpu/config/gpu_util.cc
- +++ b/gpu/config/gpu_util.cc
- @@ -111,6 +111,9 @@ GpuFeatureStatus GetAndroidSurfaceControlFeatureStatus(
- #if !defined(OS_ANDROID)
- return kGpuFeatureStatusDisabled;
- #else
- + if (blocklisted_features.count(GPU_FEATURE_TYPE_ANDROID_SURFACE_CONTROL))
- + return kGpuFeatureStatusBlocklisted;
- +
- if (!gpu_preferences.enable_android_surface_control)
- return kGpuFeatureStatusDisabled;
-
- @@ -374,6 +377,11 @@ void AdjustGpuFeatureStatusToWorkarounds(GpuFeatureInfo* gpu_feature_info) {
- gpu_feature_info->status_values[GPU_FEATURE_TYPE_ACCELERATED_WEBGL2] =
- kGpuFeatureStatusBlocklisted;
- }
- +
- + if (gpu_feature_info->IsWorkaroundEnabled(DISABLE_AIMAGEREADER)) {
- + gpu_feature_info->status_values[GPU_FEATURE_TYPE_ANDROID_SURFACE_CONTROL] =
- + kGpuFeatureStatusBlocklisted;
- + }
- }
-
- // Estimates roughly user total disk space by counting in the drives where
- diff --git a/gpu/config/gpu_workaround_list.txt b/gpu/config/gpu_workaround_list.txt
- --- a/gpu/config/gpu_workaround_list.txt
- +++ b/gpu/config/gpu_workaround_list.txt
- @@ -13,6 +13,7 @@ decode_encode_srgb_for_generatemipmap
- depth_stencil_renderbuffer_resize_emulation
- disable_2d_canvas_auto_flush
- disable_accelerated_av1_decode
- +disable_aimagereader
- disable_accelerated_vp8_decode
- disable_accelerated_vp8_encode
- disable_accelerated_vp9_decode
- diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
- --- a/gpu/ipc/service/gpu_init.cc
- +++ b/gpu/ipc/service/gpu_init.cc
- @@ -710,6 +710,12 @@ void GpuInit::InitializeInProcess(base::CommandLine* command_line,
- AdjustInfoToSwiftShader();
- }
-
- +#if defined(OS_ANDROID)
- + // Disable AImageReader if the workaround is enabled.
- + if (gpu_feature_info_.IsWorkaroundEnabled(DISABLE_AIMAGEREADER)) {
- + base::android::AndroidImageReader::DisableSupport();
- + }
- +#endif
- #if defined(USE_OZONE)
- if (features::IsUsingOzonePlatform()) {
- const std::vector<gfx::BufferFormat>
- @@ -729,6 +735,11 @@ void GpuInit::InitializeInProcess(base::CommandLine* command_line,
- gl::DirectCompositionSurfaceWin::DisableDecodeSwapChain();
- #endif
-
- + // Disable AImageReader if the workaround is enabled.
- + if (gpu_feature_info_.IsWorkaroundEnabled(DISABLE_AIMAGEREADER)) {
- + base::android::AndroidImageReader::DisableSupport();
- + }
- +
- UMA_HISTOGRAM_ENUMERATION("GPU.GLImplementation", gl::GetGLImplementation());
- }
- #endif // OS_ANDROID
- --
- 2.17.1
|