Index: content/common/gpu/gpu_memory_buffer_factory_ozone_native_pixmap.cc |
diff --git a/content/common/gpu/gpu_memory_buffer_factory_ozone_native_pixmap.cc b/content/common/gpu/gpu_memory_buffer_factory_ozone_native_pixmap.cc |
index a651f51c134712d6ebb7b0fa616a4567bb06ba73..d3e0576124a9be60c8f6e67f2dddfbc0ca0f63d8 100644 |
--- a/content/common/gpu/gpu_memory_buffer_factory_ozone_native_pixmap.cc |
+++ b/content/common/gpu/gpu_memory_buffer_factory_ozone_native_pixmap.cc |
@@ -5,15 +5,24 @@ |
#include "content/common/gpu/gpu_memory_buffer_factory_ozone_native_pixmap.h" |
#include "ui/gl/gl_image_ozone_native_pixmap.h" |
+#include "ui/ozone/public/client_native_pixmap_factory.h" |
#include "ui/ozone/public/ozone_platform.h" |
#include "ui/ozone/public/surface_factory_ozone.h" |
namespace content { |
namespace { |
-const GpuMemoryBufferFactory::Configuration kSupportedConfigurations[] = { |
- {gfx::BufferFormat::BGRA_8888, gfx::BufferUsage::SCANOUT}, |
- {gfx::BufferFormat::RGBX_8888, gfx::BufferUsage::SCANOUT}}; |
+void GetSupportedConfigurations( |
+ std::vector<GpuMemoryBufferFactory::Configuration>* configurations) { |
+ std::vector<ui::ClientNativePixmapFactory::Configuration> |
+ native_pixmap_configurations = |
+ ui::ClientNativePixmapFactory::GetInstance() |
+ ->GetSupportedConfigurations(); |
+ for (auto& native_pixmap_configuration : native_pixmap_configurations) { |
+ configurations->push_back({native_pixmap_configuration.format, |
+ native_pixmap_configuration.usage}); |
+ } |
+} |
} // namespace |
@@ -27,7 +36,9 @@ GpuMemoryBufferFactoryOzoneNativePixmap:: |
bool GpuMemoryBufferFactoryOzoneNativePixmap:: |
IsGpuMemoryBufferConfigurationSupported(gfx::BufferFormat format, |
gfx::BufferUsage usage) { |
- for (auto& configuration : kSupportedConfigurations) { |
+ std::vector<Configuration> configurations; |
+ GetSupportedConfigurations(&configurations); |
+ for (auto& configuration : configurations) { |
if (configuration.format == format && configuration.usage == usage) |
return true; |
} |
@@ -38,14 +49,7 @@ bool GpuMemoryBufferFactoryOzoneNativePixmap:: |
void GpuMemoryBufferFactoryOzoneNativePixmap:: |
GetSupportedGpuMemoryBufferConfigurations( |
std::vector<Configuration>* configurations) { |
- if (!ui::OzonePlatform::GetInstance() |
- ->GetSurfaceFactoryOzone() |
- ->CanCreateNativePixmap(gfx::BufferUsage::SCANOUT)) |
- return; |
- |
- configurations->assign( |
- kSupportedConfigurations, |
- kSupportedConfigurations + arraysize(kSupportedConfigurations)); |
+ GetSupportedConfigurations(configurations); |
} |
gfx::GpuMemoryBufferHandle |