@@ -22,15 +22,15 @@ See discussions at:
2222 base/android/android_image_reader_compat.h | 4 ++++
2323 chrome/browser/flag-metadata.json | 2 +-
2424 gpu/config/gpu_driver_bug_list.json | 16 ++++++++++++++++
25- gpu/config/gpu_finch_features.cc | 5 + ++++
25+ gpu/config/gpu_finch_features.cc | 4 ++++
2626 gpu/config/gpu_finch_features.h | 1 +
2727 gpu/config/gpu_util.cc | 8 ++++++++
2828 gpu/config/gpu_workaround_list.txt | 1 +
2929 gpu/ipc/service/gpu_init.cc | 5 +++++
3030 gpu/ipc/service/stream_texture_android.cc | 11 ++++++++++-
3131 media/base/media_switches.cc | 4 ++++
3232 media/base/media_switches.h | 1 +
33- 12 files changed, 63 insertions(+), 3 deletions(-)
33+ 12 files changed, 62 insertions(+), 3 deletions(-)
3434
3535--- a/base/android/android_image_reader_compat.cc
3636+++ b/base/android/android_image_reader_compat.cc
@@ -59,7 +59,7 @@ See discussions at:
5959 AndroidImageReader::AndroidImageReader() : is_supported_(LoadFunctions()) {}
6060--- a/base/android/android_image_reader_compat.h
6161+++ b/base/android/android_image_reader_compat.h
62- @@ -25 ,6 +25 ,9 @@ class BASE_EXPORT AndroidImageReader {
62+ @@ -24 ,6 +24 ,9 @@ class BASE_EXPORT AndroidImageReader {
6363 AndroidImageReader(const AndroidImageReader&) = delete;
6464 AndroidImageReader& operator=(const AndroidImageReader&) = delete;
6565
@@ -69,7 +69,7 @@ See discussions at:
6969 // Check if the image reader usage is supported. This function returns TRUE
7070 // if android version is >=OREO, image reader support is not disabled and all
7171 // the required functions are loaded.
72- @@ -62 ,6 +65 ,7 @@ class BASE_EXPORT AndroidImageReader {
72+ @@ -61 ,6 +64 ,7 @@ class BASE_EXPORT AndroidImageReader {
7373 jobject ANativeWindow_toSurface(JNIEnv* env, ANativeWindow* window);
7474
7575 private:
@@ -79,7 +79,7 @@ See discussions at:
7979 AndroidImageReader();
8080--- a/chrome/browser/flag-metadata.json
8181+++ b/chrome/browser/flag-metadata.json
82- @@ -2097 ,7 +2097 ,7 @@
82+ @@ -2161 ,7 +2161 ,7 @@
8383 {
8484 "name": "enable-image-reader",
8585 "owners": [ "vikassoni", "liberato" ],
@@ -115,11 +115,10 @@ See discussions at:
115115 "description": "DXVA video decoder crashes on some AMD GPUs.",
116116--- a/gpu/config/gpu_finch_features.cc
117117+++ b/gpu/config/gpu_finch_features.cc
118- @@ -52 ,6 +52,11 @@ bool IsDeviceBlocked(const char* field,
118+ @@ -53 ,6 +53,10 @@ bool IsDeviceBlocked(const char* field,
119119 } // namespace
120120
121- #if defined(OS_ANDROID)
122- +
121+ #if BUILDFLAG(IS_ANDROID)
123122+ // Use android AImageReader when playing videos with MediaPlayer.
124123+ const base::Feature kAImageReaderMediaPlayer{"AImageReaderMediaPlayer",
125124+ base::FEATURE_ENABLED_BY_DEFAULT};
@@ -132,15 +131,15 @@ See discussions at:
132131@@ -17,6 +17,7 @@ namespace features {
133132 // All features in alphabetical order. The features should be documented
134133 // alongside the definition of their values in the .cc file.
135- #if defined(OS_ANDROID )
134+ #if BUILDFLAG(IS_ANDROID )
136135+ GPU_EXPORT extern const base::Feature kAImageReaderMediaPlayer;
137136 GPU_EXPORT extern const base::Feature kUseGles2ForOopR;
138137 GPU_EXPORT extern const base::Feature kAndroidSurfaceControl;
139138 GPU_EXPORT extern const base::Feature kWebViewSurfaceControl;
140139--- a/gpu/config/gpu_util.cc
141140+++ b/gpu/config/gpu_util.cc
142- @@ -114 ,6 +114 ,9 @@ GpuFeatureStatus GetAndroidSurfaceContro
143- #if !defined(OS_ANDROID )
141+ @@ -116 ,6 +116 ,9 @@ GpuFeatureStatus GetAndroidSurfaceContro
142+ #if !BUILDFLAG(IS_ANDROID )
144143 return kGpuFeatureStatusDisabled;
145144 #else
146145+ if (blocklisted_features.count(GPU_FEATURE_TYPE_ANDROID_SURFACE_CONTROL))
@@ -149,7 +148,7 @@ See discussions at:
149148 if (!gpu_preferences.enable_android_surface_control)
150149 return kGpuFeatureStatusDisabled;
151150
152- @@ -356 ,6 +359 ,11 @@ void AdjustGpuFeatureStatusToWorkarounds
151+ @@ -324 ,6 +327 ,11 @@ void AdjustGpuFeatureStatusToWorkarounds
153152 gpu_feature_info->status_values[GPU_FEATURE_TYPE_CANVAS_OOP_RASTERIZATION] =
154153 kGpuFeatureStatusBlocklisted;
155154 }
@@ -163,19 +162,19 @@ See discussions at:
163162 // Estimates roughly user total disk space by counting in the drives where
164163--- a/gpu/config/gpu_workaround_list.txt
165164+++ b/gpu/config/gpu_workaround_list.txt
166- @@ -14,6 +14,7 @@ decode_encode_srgb_for_generatemipmap
165+ @@ -13,6 +13,7 @@ count_all_in_varyings_packing
166+ decode_encode_srgb_for_generatemipmap
167167 depth_stencil_renderbuffer_resize_emulation
168168 disable_2d_canvas_auto_flush
169- disable_accelerated_av1_decode
170169+ disable_aimagereader
171- disable_accelerated_av1_decode_d3d11
170+ disable_accelerated_av1_decode
172171 disable_accelerated_h264_encode
173172 disable_accelerated_vp8_decode
174173--- a/gpu/ipc/service/gpu_init.cc
175174+++ b/gpu/ipc/service/gpu_init.cc
176- @@ -521,6 +521,11 @@ bool GpuInit::InitializeAndStartSandbox(
177- }
175+ @@ -519,6 +519,11 @@ bool GpuInit::InitializeAndStartSandbox(
178176 }
177+ #endif // defined(OS_MAC)
179178
180179+ // Disable AImageReader if the workaround is enabled.
181180+ if (gpu_feature_info_.IsWorkaroundEnabled(DISABLE_AIMAGEREADER)) {
@@ -214,7 +213,7 @@ See discussions at:
214213 }
215214--- a/media/base/media_switches.cc
216215+++ b/media/base/media_switches.cc
217- @@ -682 ,6 +682 ,10 @@ const base::Feature kMediaDrmPreprovisio
216+ @@ -667 ,6 +667 ,10 @@ const base::Feature kMediaDrmPreprovisio
218217 // Note: Has no effect if kMediaDrmPreprovisioning feature is disabled.
219218 const base::Feature kMediaDrmPreprovisioningAtStartup{
220219 "MediaDrmPreprovisioningAtStartup", base::FEATURE_ENABLED_BY_DEFAULT};
@@ -227,7 +226,7 @@ See discussions at:
227226 const base::Feature kPictureInPictureAPI{"PictureInPictureAPI",
228227--- a/media/base/media_switches.h
229228+++ b/media/base/media_switches.h
230- @@ -216 ,6 +216 ,7 @@ MEDIA_EXPORT extern const base::Feature
229+ @@ -212 ,6 +212 ,7 @@ MEDIA_EXPORT extern const base::Feature
231230 MEDIA_EXPORT extern const base::Feature kAllowNonSecureOverlays;
232231 MEDIA_EXPORT extern const base::Feature kMediaControlsExpandGesture;
233232 MEDIA_EXPORT extern const base::Feature kMediaDrmPersistentLicense;
0 commit comments