Index: gpu/vulkan/vulkan_surface.h |
diff --git a/gpu/vulkan/vulkan_surface.h b/gpu/vulkan/vulkan_surface.h |
index 3dfb9280026390bdfd86c9276a35041454a7f13a..69cf9c25846f0e9bf76bde9842997da67ab99279 100644 |
--- a/gpu/vulkan/vulkan_surface.h |
+++ b/gpu/vulkan/vulkan_surface.h |
@@ -5,18 +5,40 @@ |
#ifndef GPU_VULKAN_VULKAN_SURFACE_H_ |
#define GPU_VULKAN_VULKAN_SURFACE_H_ |
+#include "base/memory/scoped_ptr.h" |
#include "gpu/vulkan/vulkan_export.h" |
+#include "ui/gfx/geometry/size.h" |
+#include "ui/gfx/native_widget_types.h" |
namespace gpu { |
class VULKAN_EXPORT VulkanSurface { |
public: |
- VulkanSurface(); |
- |
static bool InitializeOneOff(); |
- protected: |
+ // Minimum bit depth of surface. |
+ enum Format { |
+ SURFACE_GBRA8888, |
+ SURFACE_RGB565, |
+ |
+ NUM_SURFACE_FORMATS, |
+ SURFACE_DEFAULT = SURFACE_GBRA8888 |
+ }; |
+ |
+ virtual bool Initialize(VulkanSurface::Format format) = 0; |
+ virtual void Destroy() = 0; |
+ |
virtual ~VulkanSurface(); |
+ |
+ // Create a surface that render directlys into a surface. |
+ static scoped_ptr<VulkanSurface> CreateViewSurface( |
+ gfx::AcceleratedWidget window); |
+ |
+ protected: |
+ VulkanSurface(); |
+ |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(VulkanSurface); |
}; |
} // namespace gpu |