OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <fcntl.h> | 5 #include <fcntl.h> |
6 #include <libdrm/i915_drm.h> | 6 #include <libdrm/i915_drm.h> |
7 #include <linux/types.h> | 7 #include <linux/types.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 #include <stdio.h> | 9 #include <stdio.h> |
10 #include <sys/mman.h> | 10 #include <sys/mman.h> |
11 #include <xf86drm.h> | 11 #include <xf86drm.h> |
12 | 12 |
13 #include "base/files/scoped_file.h" | 13 #include "base/files/scoped_file.h" |
14 #include "base/posix/eintr_wrapper.h" | 14 #include "base/posix/eintr_wrapper.h" |
15 #include "testing/gtest/include/gtest/gtest.h" | 15 #include "testing/gtest/include/gtest/gtest.h" |
16 #include "ui/gfx/buffer_types.h" | 16 #include "ui/gfx/buffer_types.h" |
17 #include "ui/gl/gl_image_ozone_native_pixmap.h" | |
18 #include "ui/gl/test/gl_image_test_template.h" | 17 #include "ui/gl/test/gl_image_test_template.h" |
| 18 #include "ui/ozone/gl/gl_image_ozone_native_pixmap.h" |
19 #include "ui/ozone/public/ozone_platform.h" | 19 #include "ui/ozone/public/ozone_platform.h" |
20 #include "ui/ozone/public/surface_factory_ozone.h" | 20 #include "ui/ozone/public/surface_factory_ozone.h" |
21 | 21 |
22 namespace gl { | 22 namespace gl { |
23 namespace { | 23 namespace { |
24 | 24 |
25 // These values are picked so that RGB -> YVU on the CPU converted | 25 // These values are picked so that RGB -> YVU on the CPU converted |
26 // back to RGB on the GPU produces the original RGB values without | 26 // back to RGB on the GPU produces the original RGB values without |
27 // any error. | 27 // any error. |
28 const uint8_t kImageColor[] = {0x10, 0x20, 0, 0xFF}; | 28 const uint8_t kImageColor[] = {0x10, 0x20, 0, 0xFF}; |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 // via exo. | 104 // via exo. |
105 // TODO(dcastagna): once it's possible to allocate and map YV12 format | 105 // TODO(dcastagna): once it's possible to allocate and map YV12 format |
106 // using Ozone merge this test with GLImageOzoneNativePixmapTestDelegate. | 106 // using Ozone merge this test with GLImageOzoneNativePixmapTestDelegate. |
107 class GLImageOzoneNativePixmapDrmTestDelegate { | 107 class GLImageOzoneNativePixmapDrmTestDelegate { |
108 public: | 108 public: |
109 GLImageOzoneNativePixmapDrmTestDelegate() {} | 109 GLImageOzoneNativePixmapDrmTestDelegate() {} |
110 scoped_refptr<GLImage> CreateSolidColorImage(const gfx::Size& size, | 110 scoped_refptr<GLImage> CreateSolidColorImage(const gfx::Size& size, |
111 const uint8_t color[4]) const { | 111 const uint8_t color[4]) const { |
112 scoped_refptr<ui::NativePixmap> pixmap = CreateYVU420Pixmap(size, color); | 112 scoped_refptr<ui::NativePixmap> pixmap = CreateYVU420Pixmap(size, color); |
113 | 113 |
114 scoped_refptr<GLImageOzoneNativePixmap> image( | 114 scoped_refptr<ui::GLImageOzoneNativePixmap> image( |
115 new GLImageOzoneNativePixmap(size, GL_RGB_YCRCB_420_CHROMIUM)); | 115 new ui::GLImageOzoneNativePixmap(size, GL_RGB_YCRCB_420_CHROMIUM)); |
116 EXPECT_TRUE(image->Initialize(pixmap.get(), pixmap->GetBufferFormat())); | 116 EXPECT_TRUE(image->Initialize(pixmap.get(), pixmap->GetBufferFormat())); |
117 return image; | 117 return image; |
118 } | 118 } |
119 | 119 |
120 unsigned GetTextureTarget() const { return GL_TEXTURE_EXTERNAL_OES; } | 120 unsigned GetTextureTarget() const { return GL_TEXTURE_EXTERNAL_OES; } |
121 | 121 |
122 const uint8_t* GetImageColor() { return kImageColor; } | 122 const uint8_t* GetImageColor() { return kImageColor; } |
123 | 123 |
124 private: | 124 private: |
125 }; | 125 }; |
126 | 126 |
127 | 127 |
128 // TODO(crbug.com/618516) - The tests in this file can only be run | 128 // TODO(crbug.com/618516) - The tests in this file can only be run |
129 // on a real device, and not on linux desktop builds, so they are | 129 // on a real device, and not on linux desktop builds, so they are |
130 // disabled until they can correctly detect the environment and do | 130 // disabled until they can correctly detect the environment and do |
131 INSTANTIATE_TYPED_TEST_CASE_P(DISABLED_GLImageOzoneNativePixmapDrm, | 131 INSTANTIATE_TYPED_TEST_CASE_P(DISABLED_GLImageOzoneNativePixmapDrm, |
132 GLImageTest, | 132 GLImageTest, |
133 GLImageOzoneNativePixmapDrmTestDelegate); | 133 GLImageOzoneNativePixmapDrmTestDelegate); |
134 | 134 |
135 INSTANTIATE_TYPED_TEST_CASE_P(DISABLED_GLImageOzoneNativePixmapDrm, | 135 INSTANTIATE_TYPED_TEST_CASE_P(DISABLED_GLImageOzoneNativePixmapDrm, |
136 GLImageBindTest, | 136 GLImageBindTest, |
137 GLImageOzoneNativePixmapDrmTestDelegate); | 137 GLImageOzoneNativePixmapDrmTestDelegate); |
138 | 138 |
139 } // namespace | 139 } // namespace |
140 } // namespace gl | 140 } // namespace gl |
OLD | NEW |