Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(28)

Unified Diff: ui/gl/gl_image_shared_memory_unittest.cc

Issue 1484473003: gl, ozone: enable GLImageBindTest unittests Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: build fix for win and mac, but cros need crrev.com/1208603002 Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/gl/gl_image_shared_memory_unittest.cc
diff --git a/ui/gl/gl_image_shared_memory_unittest.cc b/ui/gl/gl_image_shared_memory_unittest.cc
index 57371ad289c2ed0afef80ac4ea5262b0a624cc78..d74a5ea56e68d666f0fc5ec6688d0a34aa567532 100644
--- a/ui/gl/gl_image_shared_memory_unittest.cc
+++ b/ui/gl/gl_image_shared_memory_unittest.cc
@@ -9,16 +9,17 @@
#include "base/sys_info.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/gl/gl_image_shared_memory.h"
+#include "ui/gl/gl_utils.h"
#include "ui/gl/test/gl_image_test_template.h"
namespace gl {
namespace {
-template <gfx::BufferFormat format>
class GLImageSharedMemoryTestDelegate {
public:
scoped_refptr<gl::GLImage> CreateSolidColorImage(
const gfx::Size& size,
+ gfx::BufferFormat format,
const uint8_t color[4]) const {
DCHECK_EQ(NumberOfPlanesForBufferFormat(format), 1u);
base::SharedMemory shared_memory;
@@ -29,8 +30,8 @@ class GLImageSharedMemoryTestDelegate {
size.width(), size.height(),
static_cast<int>(RowSizeForBufferFormat(size.width(), format, 0)), 0,
format, color, reinterpret_cast<uint8_t*>(shared_memory.memory()));
- scoped_refptr<gl::GLImageSharedMemory> image(new gl::GLImageSharedMemory(
- size, gl::GLImageMemory::GetInternalFormatForTesting(format)));
+ scoped_refptr<gl::GLImageSharedMemory> image(
+ new gl::GLImageSharedMemory(size, gl::GetTextureFormatFrom(format)));
rv = image->Initialize(
base::SharedMemory::DuplicateHandle(shared_memory.handle()),
gfx::GenericSharedMemoryId(0), format, 0,
@@ -38,32 +39,39 @@ class GLImageSharedMemoryTestDelegate {
EXPECT_TRUE(rv);
return image;
}
-};
-using GLImageTestTypes = testing::Types<
- GLImageSharedMemoryTestDelegate<gfx::BufferFormat::RGBX_8888>,
- GLImageSharedMemoryTestDelegate<gfx::BufferFormat::RGBA_8888>,
- GLImageSharedMemoryTestDelegate<gfx::BufferFormat::BGRX_8888>,
- GLImageSharedMemoryTestDelegate<gfx::BufferFormat::BGRA_8888>>;
+ static bool IsSupported(gfx::BufferFormat format) {
+ switch (format) {
+ case gfx::BufferFormat::RGBX_8888:
+ case gfx::BufferFormat::RGBA_8888:
+ case gfx::BufferFormat::BGRX_8888:
+ case gfx::BufferFormat::BGRA_8888:
+ return true;
+ default:
+ return false;
+ }
+ NOTREACHED();
+ return false;
+ }
+};
INSTANTIATE_TYPED_TEST_CASE_P(GLImageSharedMemory,
GLImageTest,
- GLImageTestTypes);
+ GLImageSharedMemoryTestDelegate);
INSTANTIATE_TYPED_TEST_CASE_P(GLImageSharedMemory,
GLImageCopyTest,
- GLImageTestTypes);
+ GLImageSharedMemoryTestDelegate);
class GLImageSharedMemoryPoolTestDelegate {
public:
scoped_refptr<gl::GLImage> CreateSolidColorImage(
const gfx::Size& size,
+ gfx::BufferFormat format,
const uint8_t color[4]) const {
// Create a shared memory segment that holds an image with a stride that is
// twice the row size and 2 pages larger than image.
- size_t stride = gfx::RowSizeForBufferFormat(
- size.width(), gfx::BufferFormat::RGBA_8888, 0) *
- 2;
+ size_t stride = gfx::RowSizeForBufferFormat(size.width(), format, 0) * 2;
size_t pool_size =
stride * size.height() + base::SysInfo::VMAllocationGranularity() * 3;
base::SharedMemory shared_memory;
@@ -74,18 +82,27 @@ class GLImageSharedMemoryPoolTestDelegate {
// Place buffer at a non-zero non-page-aligned offset in shared memory.
size_t buffer_offset = 3 * base::SysInfo::VMAllocationGranularity() / 2;
GLImageTestSupport::SetBufferDataToColor(
- size.width(), size.height(), static_cast<int>(stride), 0,
- gfx::BufferFormat::RGBA_8888, color,
+ size.width(), size.height(), static_cast<int>(stride), 0, format, color,
reinterpret_cast<uint8_t*>(shared_memory.memory()) + buffer_offset);
scoped_refptr<gl::GLImageSharedMemory> image(
- new gl::GLImageSharedMemory(size, GL_RGBA));
+ new gl::GLImageSharedMemory(size, gl::GetTextureFormatFrom(format)));
rv = image->Initialize(
base::SharedMemory::DuplicateHandle(shared_memory.handle()),
- gfx::GenericSharedMemoryId(0), gfx::BufferFormat::RGBA_8888,
- buffer_offset, stride);
+ gfx::GenericSharedMemoryId(0), format, buffer_offset, stride);
EXPECT_TRUE(rv);
return image;
}
+
+ static bool IsSupported(gfx::BufferFormat format) {
+ switch (format) {
+ case gfx::BufferFormat::RGBA_8888:
+ return true;
+ default:
+ return false;
+ }
+ NOTREACHED();
+ return false;
+ }
};
INSTANTIATE_TYPED_TEST_CASE_P(GLImageSharedMemoryPool,

Powered by Google App Engine
This is Rietveld 408576698