gl_image_egl_angle_vulkan.h 943 B

12345678910111213141516171819202122232425262728293031323334
  1. // Copyright 2021 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #ifndef UI_GL_GL_IMAGE_EGL_ANGLE_VULKAN_H_
  5. #define UI_GL_GL_IMAGE_EGL_ANGLE_VULKAN_H_
  6. #include <stdint.h>
  7. #include <vulkan/vulkan_core.h>
  8. #include "ui/gfx/geometry/size.h"
  9. #include "ui/gl/gl_export.h"
  10. #include "ui/gl/gl_image_egl.h"
  11. namespace gl {
  12. class GL_EXPORT GLImageEGLAngleVulkan : public GLImageEGL {
  13. public:
  14. explicit GLImageEGLAngleVulkan(const gfx::Size& size);
  15. GLImageEGLAngleVulkan(const GLImageEGLAngleVulkan&) = delete;
  16. GLImageEGLAngleVulkan& operator=(const GLImageEGLAngleVulkan&) = delete;
  17. bool Initialize(VkImage image,
  18. const VkImageCreateInfo* create_info,
  19. unsigned int internal_format);
  20. protected:
  21. ~GLImageEGLAngleVulkan() override;
  22. };
  23. } // namespace gl
  24. #endif // UI_GL_GL_IMAGE_EGL_ANGLE_VULKAN_H_