Commit 6ffacb3f authored by Antoine Labour's avatar Antoine Labour Committed by Commit Bot

Remove internalformat argument from GLImage*Memory

All callers set it to something consistent with the BufferFormat (i.e.
the value of gpu::InternalFormatForGpuMemoryBufferFormat), and so is
redundant. For GetInternalFormat, we can directly extract it from the
BufferFormat.

Bug: 900044
Change-Id: I5e135d60dedf3854fbc28a29abcc26054dd663f7
Reviewed-on: https://chromium-review.googlesource.com/c/1306993
Commit-Queue: Antoine Labour <piman@chromium.org>
Reviewed-by: default avatarZhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#604108}
parent 478dbff4
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
#include <stddef.h> #include <stddef.h>
#include "base/numerics/safe_conversions.h" #include "base/numerics/safe_conversions.h"
#include "gpu/command_buffer/common/gpu_memory_buffer_support.h"
#include "ui/gl/gl_image_shared_memory.h" #include "ui/gl/gl_image_shared_memory.h"
namespace cc { namespace cc {
...@@ -24,9 +23,7 @@ scoped_refptr<gl::GLImage> TestImageFactory::CreateImageForGpuMemoryBuffer( ...@@ -24,9 +23,7 @@ scoped_refptr<gl::GLImage> TestImageFactory::CreateImageForGpuMemoryBuffer(
gpu::SurfaceHandle surface_handle) { gpu::SurfaceHandle surface_handle) {
DCHECK_EQ(handle.type, gfx::SHARED_MEMORY_BUFFER); DCHECK_EQ(handle.type, gfx::SHARED_MEMORY_BUFFER);
unsigned internalformat = gpu::InternalFormatForGpuMemoryBufferFormat(format); auto image = base::MakeRefCounted<gl::GLImageSharedMemory>(size);
scoped_refptr<gl::GLImageSharedMemory> image(
new gl::GLImageSharedMemory(size, internalformat));
if (!image->Initialize(handle.region, handle.id, format, handle.offset, if (!image->Initialize(handle.region, handle.id, format, handle.offset,
base::checked_cast<size_t>(handle.stride))) base::checked_cast<size_t>(handle.stride)))
return nullptr; return nullptr;
......
...@@ -547,10 +547,7 @@ int32_t GLManager::CreateImage(ClientBuffer buffer, ...@@ -547,10 +547,7 @@ int32_t GLManager::CreateImage(ClientBuffer buffer,
GpuMemoryBufferImpl::FromClientBuffer(buffer); GpuMemoryBufferImpl::FromClientBuffer(buffer);
gfx::BufferFormat format = gpu_memory_buffer->GetFormat(); gfx::BufferFormat format = gpu_memory_buffer->GetFormat();
unsigned internalformat = auto image = base::MakeRefCounted<gl::GLImageRefCountedMemory>(size);
gpu::InternalFormatForGpuMemoryBufferFormat(format);
scoped_refptr<gl::GLImageRefCountedMemory> image(
new gl::GLImageRefCountedMemory(size, internalformat));
if (!image->Initialize(gpu_memory_buffer->bytes(), format)) { if (!image->Initialize(gpu_memory_buffer->bytes(), format)) {
return -1; return -1;
} }
......
...@@ -1015,10 +1015,7 @@ void InProcessCommandBuffer::CreateImageOnGpuThread( ...@@ -1015,10 +1015,7 @@ void InProcessCommandBuffer::CreateImageOnGpuThread(
LOG(ERROR) << "Invalid stride for image."; LOG(ERROR) << "Invalid stride for image.";
return; return;
} }
unsigned internalformat = auto image = base::MakeRefCounted<gl::GLImageSharedMemory>(size);
gpu::InternalFormatForGpuMemoryBufferFormat(format);
scoped_refptr<gl::GLImageSharedMemory> image(
new gl::GLImageSharedMemory(size, internalformat));
if (!image->Initialize(handle.region, handle.id, format, handle.offset, if (!image->Initialize(handle.region, handle.id, format, handle.offset,
handle.stride)) { handle.stride)) {
LOG(ERROR) << "Failed to initialize image."; LOG(ERROR) << "Failed to initialize image.";
......
...@@ -866,13 +866,11 @@ TEST_F(DirectCompositionPixelTest, SoftwareVideoSwapchain) { ...@@ -866,13 +866,11 @@ TEST_F(DirectCompositionPixelTest, SoftwareVideoSwapchain) {
gfx::RowSizeForBufferFormat(uv_size.width(), gfx::BufferFormat::RG_88, 0); gfx::RowSizeForBufferFormat(uv_size.width(), gfx::BufferFormat::RG_88, 0);
std::vector<uint8_t> y_data(y_stride * y_size.height(), 0xff); std::vector<uint8_t> y_data(y_stride * y_size.height(), 0xff);
std::vector<uint8_t> uv_data(uv_stride * uv_size.height(), 0xff); std::vector<uint8_t> uv_data(uv_stride * uv_size.height(), 0xff);
scoped_refptr<gl::GLImageRefCountedMemory> y_image( auto y_image = base::MakeRefCounted<gl::GLImageRefCountedMemory>(y_size);
new gl::GLImageRefCountedMemory(y_size, GL_BGRA_EXT));
y_image->Initialize(new base::RefCountedBytes(y_data), y_image->Initialize(new base::RefCountedBytes(y_data),
gfx::BufferFormat::R_8); gfx::BufferFormat::R_8);
scoped_refptr<gl::GLImageRefCountedMemory> uv_image( auto uv_image = base::MakeRefCounted<gl::GLImageRefCountedMemory>(uv_size);
new gl::GLImageRefCountedMemory(uv_size, GL_BGRA_EXT));
uv_image->Initialize(new base::RefCountedBytes(uv_data), uv_image->Initialize(new base::RefCountedBytes(uv_data),
gfx::BufferFormat::RG_88); gfx::BufferFormat::RG_88);
y_image->SetColorSpace(gfx::ColorSpace::CreateREC709()); y_image->SetColorSpace(gfx::ColorSpace::CreateREC709());
......
...@@ -31,7 +31,6 @@ ...@@ -31,7 +31,6 @@
#include "base/trace_event/process_memory_dump.h" #include "base/trace_event/process_memory_dump.h"
#include "base/trace_event/trace_event.h" #include "base/trace_event/trace_event.h"
#include "build/build_config.h" #include "build/build_config.h"
#include "gpu/command_buffer/common/gpu_memory_buffer_support.h"
#include "gpu/command_buffer/common/mailbox.h" #include "gpu/command_buffer/common/mailbox.h"
#include "gpu/command_buffer/service/image_factory.h" #include "gpu/command_buffer/service/image_factory.h"
#include "gpu/command_buffer/service/image_manager.h" #include "gpu/command_buffer/service/image_manager.h"
...@@ -729,10 +728,7 @@ scoped_refptr<gl::GLImage> GpuChannel::CreateImageForGpuMemoryBuffer( ...@@ -729,10 +728,7 @@ scoped_refptr<gl::GLImage> GpuChannel::CreateImageForGpuMemoryBuffer(
case gfx::SHARED_MEMORY_BUFFER: { case gfx::SHARED_MEMORY_BUFFER: {
if (!base::IsValueInRangeForNumericType<size_t>(handle.stride)) if (!base::IsValueInRangeForNumericType<size_t>(handle.stride))
return nullptr; return nullptr;
unsigned internalformat = auto image = base::MakeRefCounted<gl::GLImageSharedMemory>(size);
gpu::InternalFormatForGpuMemoryBufferFormat(format);
scoped_refptr<gl::GLImageSharedMemory> image(
new gl::GLImageSharedMemory(size, internalformat));
if (!image->Initialize(handle.region, handle.id, format, handle.offset, if (!image->Initialize(handle.region, handle.id, format, handle.offset,
handle.stride)) { handle.stride)) {
return nullptr; return nullptr;
......
...@@ -21,20 +21,6 @@ using gfx::BufferFormat; ...@@ -21,20 +21,6 @@ using gfx::BufferFormat;
namespace gl { namespace gl {
namespace { namespace {
bool ValidInternalFormat(unsigned internalformat) {
switch (internalformat) {
case GL_RED:
case GL_RG:
case GL_RGB:
case GL_RGBA:
case GL_RGB10_A2_EXT:
case GL_BGRA_EXT:
return true;
default:
return false;
}
}
GLenum TextureFormat(gfx::BufferFormat format) { GLenum TextureFormat(gfx::BufferFormat format) {
switch (format) { switch (format) {
case gfx::BufferFormat::R_8: case gfx::BufferFormat::R_8:
...@@ -286,9 +272,8 @@ std::unique_ptr<uint8_t[]> GLES2Data(const gfx::Size& size, ...@@ -286,9 +272,8 @@ std::unique_ptr<uint8_t[]> GLES2Data(const gfx::Size& size,
} // namespace } // namespace
GLImageMemory::GLImageMemory(const gfx::Size& size, unsigned internalformat) GLImageMemory::GLImageMemory(const gfx::Size& size)
: size_(size), : size_(size),
internalformat_(internalformat),
memory_(nullptr), memory_(nullptr),
format_(gfx::BufferFormat::RGBA_8888), format_(gfx::BufferFormat::RGBA_8888),
stride_(0) {} stride_(0) {}
...@@ -305,12 +290,6 @@ GLImageMemory* GLImageMemory::FromGLImage(GLImage* image) { ...@@ -305,12 +290,6 @@ GLImageMemory* GLImageMemory::FromGLImage(GLImage* image) {
bool GLImageMemory::Initialize(const unsigned char* memory, bool GLImageMemory::Initialize(const unsigned char* memory,
gfx::BufferFormat format, gfx::BufferFormat format,
size_t stride) { size_t stride) {
if (!ValidInternalFormat(internalformat_)) {
LOG(ERROR) << "Invalid internalformat: "
<< GLEnums::GetStringEnum(internalformat_);
return false;
}
if (!ValidFormat(format)) { if (!ValidFormat(format)) {
LOG(ERROR) << "Invalid format: " << gfx::BufferFormatToString(format); LOG(ERROR) << "Invalid format: " << gfx::BufferFormatToString(format);
return false; return false;
...@@ -334,7 +313,7 @@ gfx::Size GLImageMemory::GetSize() { ...@@ -334,7 +313,7 @@ gfx::Size GLImageMemory::GetSize() {
} }
unsigned GLImageMemory::GetInternalFormat() { unsigned GLImageMemory::GetInternalFormat() {
return internalformat_; return TextureFormat(format_);
} }
bool GLImageMemory::BindTexImage(unsigned target) { bool GLImageMemory::BindTexImage(unsigned target) {
...@@ -425,12 +404,6 @@ GLImageMemory::Type GLImageMemory::GetType() const { ...@@ -425,12 +404,6 @@ GLImageMemory::Type GLImageMemory::GetType() const {
return Type::MEMORY; return Type::MEMORY;
} }
// static
unsigned GLImageMemory::GetInternalFormatForTesting(gfx::BufferFormat format) {
DCHECK(ValidFormat(format));
return TextureFormat(format);
}
// static // static
bool GLImageMemory::ValidFormat(gfx::BufferFormat format) { bool GLImageMemory::ValidFormat(gfx::BufferFormat format) {
switch (format) { switch (format) {
......
...@@ -18,7 +18,7 @@ namespace gl { ...@@ -18,7 +18,7 @@ namespace gl {
class GL_EXPORT GLImageMemory : public GLImage { class GL_EXPORT GLImageMemory : public GLImage {
public: public:
GLImageMemory(const gfx::Size& size, unsigned internalformat); explicit GLImageMemory(const gfx::Size& size);
bool Initialize(const unsigned char* memory, bool Initialize(const unsigned char* memory,
gfx::BufferFormat format, gfx::BufferFormat format,
...@@ -47,8 +47,6 @@ class GL_EXPORT GLImageMemory : public GLImage { ...@@ -47,8 +47,6 @@ class GL_EXPORT GLImageMemory : public GLImage {
void Flush() override {} void Flush() override {}
Type GetType() const override; Type GetType() const override;
static unsigned GetInternalFormatForTesting(gfx::BufferFormat format);
const unsigned char* memory() { return memory_; } const unsigned char* memory() { return memory_; }
size_t stride() const { return stride_; } size_t stride() const { return stride_; }
gfx::BufferFormat format() const { return format_; } gfx::BufferFormat format() const { return format_; }
...@@ -60,7 +58,6 @@ class GL_EXPORT GLImageMemory : public GLImage { ...@@ -60,7 +58,6 @@ class GL_EXPORT GLImageMemory : public GLImage {
static bool ValidFormat(gfx::BufferFormat format); static bool ValidFormat(gfx::BufferFormat format);
const gfx::Size size_; const gfx::Size size_;
const unsigned internalformat_;
const unsigned char* memory_; const unsigned char* memory_;
gfx::BufferFormat format_; gfx::BufferFormat format_;
size_t stride_; size_t stride_;
......
...@@ -15,9 +15,8 @@ ...@@ -15,9 +15,8 @@
namespace gl { namespace gl {
GLImageRefCountedMemory::GLImageRefCountedMemory(const gfx::Size& size, GLImageRefCountedMemory::GLImageRefCountedMemory(const gfx::Size& size)
unsigned internalformat) : GLImageMemory(size) {}
: GLImageMemory(size, internalformat) {}
GLImageRefCountedMemory::~GLImageRefCountedMemory() {} GLImageRefCountedMemory::~GLImageRefCountedMemory() {}
......
...@@ -20,7 +20,7 @@ namespace gl { ...@@ -20,7 +20,7 @@ namespace gl {
class GL_EXPORT GLImageRefCountedMemory : public GLImageMemory { class GL_EXPORT GLImageRefCountedMemory : public GLImageMemory {
public: public:
GLImageRefCountedMemory(const gfx::Size& size, unsigned internalformat); explicit GLImageRefCountedMemory(const gfx::Size& size);
bool Initialize(base::RefCountedMemory* ref_counted_memory, bool Initialize(base::RefCountedMemory* ref_counted_memory,
gfx::BufferFormat format); gfx::BufferFormat format);
......
...@@ -28,8 +28,7 @@ class GLImageRefCountedMemoryTestDelegate : public GLImageTestDelegateBase { ...@@ -28,8 +28,7 @@ class GLImageRefCountedMemoryTestDelegate : public GLImageTestDelegateBase {
size.width(), size.height(), size.width(), size.height(),
static_cast<int>(RowSizeForBufferFormat(size.width(), format, 0)), 0, static_cast<int>(RowSizeForBufferFormat(size.width(), format, 0)), 0,
format, color, &bytes->data().front()); format, color, &bytes->data().front());
scoped_refptr<GLImageRefCountedMemory> image(new GLImageRefCountedMemory( auto image = base::MakeRefCounted<GLImageRefCountedMemory>(size);
size, GLImageMemory::GetInternalFormatForTesting(format)));
bool rv = image->Initialize(bytes.get(), format); bool rv = image->Initialize(bytes.get(), format);
EXPECT_TRUE(rv); EXPECT_TRUE(rv);
return image; return image;
......
...@@ -15,9 +15,8 @@ ...@@ -15,9 +15,8 @@
namespace gl { namespace gl {
GLImageSharedMemory::GLImageSharedMemory(const gfx::Size& size, GLImageSharedMemory::GLImageSharedMemory(const gfx::Size& size)
unsigned internalformat) : GLImageMemory(size) {}
: GLImageMemory(size, internalformat) {}
GLImageSharedMemory::~GLImageSharedMemory() {} GLImageSharedMemory::~GLImageSharedMemory() {}
......
...@@ -20,7 +20,7 @@ namespace gl { ...@@ -20,7 +20,7 @@ namespace gl {
class GL_EXPORT GLImageSharedMemory : public GLImageMemory { class GL_EXPORT GLImageSharedMemory : public GLImageMemory {
public: public:
GLImageSharedMemory(const gfx::Size& size, unsigned internalformat); explicit GLImageSharedMemory(const gfx::Size& size);
bool Initialize(const base::UnsafeSharedMemoryRegion& shared_memory_region, bool Initialize(const base::UnsafeSharedMemoryRegion& shared_memory_region,
gfx::GenericSharedMemoryId shared_memory_id, gfx::GenericSharedMemoryId shared_memory_id,
......
...@@ -33,8 +33,7 @@ class GLImageSharedMemoryTestDelegate : public GLImageTestDelegateBase { ...@@ -33,8 +33,7 @@ class GLImageSharedMemoryTestDelegate : public GLImageTestDelegateBase {
size.width(), size.height(), size.width(), size.height(),
static_cast<int>(RowSizeForBufferFormat(size.width(), format, 0)), 0, static_cast<int>(RowSizeForBufferFormat(size.width(), format, 0)), 0,
format, color, static_cast<uint8_t*>(shared_memory_mapping.memory())); format, color, static_cast<uint8_t*>(shared_memory_mapping.memory()));
scoped_refptr<GLImageSharedMemory> image(new GLImageSharedMemory( auto image = base::MakeRefCounted<GLImageSharedMemory>(size);
size, GLImageMemory::GetInternalFormatForTesting(format)));
bool rv = image->Initialize( bool rv = image->Initialize(
shared_memory_region, gfx::GenericSharedMemoryId(0), format, 0, shared_memory_region, gfx::GenericSharedMemoryId(0), format, 0,
gfx::RowSizeForBufferFormat(size.width(), format, 0)); gfx::RowSizeForBufferFormat(size.width(), format, 0));
...@@ -101,8 +100,7 @@ class GLImageSharedMemoryPoolTestDelegate : public GLImageTestDelegateBase { ...@@ -101,8 +100,7 @@ class GLImageSharedMemoryPoolTestDelegate : public GLImageTestDelegateBase {
size.width(), size.height(), static_cast<int>(stride), 0, size.width(), size.height(), static_cast<int>(stride), 0,
gfx::BufferFormat::RGBA_8888, color, gfx::BufferFormat::RGBA_8888, color,
static_cast<uint8_t*>(shared_memory_mapping.memory()) + buffer_offset); static_cast<uint8_t*>(shared_memory_mapping.memory()) + buffer_offset);
scoped_refptr<GLImageSharedMemory> image( auto image = base::MakeRefCounted<GLImageSharedMemory>(size);
new GLImageSharedMemory(size, GL_RGBA));
bool rv = bool rv =
image->Initialize(shared_memory_region, gfx::GenericSharedMemoryId(0), image->Initialize(shared_memory_region, gfx::GenericSharedMemoryId(0),
gfx::BufferFormat::RGBA_8888, buffer_offset, stride); gfx::BufferFormat::RGBA_8888, buffer_offset, stride);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment