| Index: components/exo/wayland/server.cc
|
| diff --git a/components/exo/wayland/server.cc b/components/exo/wayland/server.cc
|
| index 55e347a39b440639c4d2b78aa6cd1d2337b8f8e0..dda2db98877944489265c207f08756a3f8fc397a 100644
|
| --- a/components/exo/wayland/server.cc
|
| +++ b/components/exo/wayland/server.cc
|
| @@ -514,20 +514,21 @@ void drm_create_prime_buffer(wl_client* client,
|
| return;
|
| }
|
|
|
| - std::vector<int> strides{stride0, stride1, stride2};
|
| - std::vector<int> offsets{offset0, offset1, offset2};
|
| + std::vector<gfx::GbmBufferPlane> planes;
|
| + planes.emplace_back(stride0, offset0, 0);
|
| + planes.emplace_back(stride1, offset1, 0);
|
| + planes.emplace_back(stride2, offset2, 0);
|
| std::vector<base::ScopedFD> fds;
|
|
|
| - int planes =
|
| + int num_planes =
|
| gfx::NumberOfPlanesForBufferFormat(supported_format->buffer_format);
|
| - strides.resize(planes);
|
| - offsets.resize(planes);
|
| + planes.resize(num_planes);
|
| fds.push_back(base::ScopedFD(name));
|
|
|
| std::unique_ptr<Buffer> buffer =
|
| GetUserDataAs<Display>(resource)->CreateLinuxDMABufBuffer(
|
| - gfx::Size(width, height), supported_format->buffer_format, strides,
|
| - offsets, std::move(fds));
|
| + gfx::Size(width, height), supported_format->buffer_format, planes,
|
| + std::move(fds));
|
| if (!buffer) {
|
| wl_resource_post_no_memory(resource);
|
| return;
|
| @@ -660,8 +661,7 @@ void linux_buffer_params_create(wl_client* client,
|
| return;
|
| }
|
|
|
| - std::vector<int> strides;
|
| - std::vector<int> offsets;
|
| + std::vector<gfx::GbmBufferPlane> planes;
|
| std::vector<base::ScopedFD> fds;
|
|
|
| for (uint32_t i = 0; i < num_planes; ++i) {
|
| @@ -673,16 +673,15 @@ void linux_buffer_params_create(wl_client* client,
|
| return;
|
| }
|
| LinuxBufferParams::Plane& plane = plane_it->second;
|
| - strides.push_back(plane.stride);
|
| - offsets.push_back(plane.offset);
|
| + planes.emplace_back(plane.stride, plane.offset, 0);
|
| if (plane.fd.is_valid())
|
| fds.push_back(std::move(plane.fd));
|
| }
|
|
|
| std::unique_ptr<Buffer> buffer =
|
| linux_buffer_params->display->CreateLinuxDMABufBuffer(
|
| - gfx::Size(width, height), supported_format->buffer_format, strides,
|
| - offsets, std::move(fds));
|
| + gfx::Size(width, height), supported_format->buffer_format, planes,
|
| + std::move(fds));
|
| if (!buffer) {
|
| zwp_linux_buffer_params_v1_send_failed(resource);
|
| return;
|
|
|