| Index: components/exo/wayland/clients/client_base.cc
|
| diff --git a/components/exo/wayland/clients/client_base.cc b/components/exo/wayland/clients/client_base.cc
|
| index e604367854df7083a2fc12f0ae05ffcbeed2a4da..5ae91368eec165e4a8fcfd12ce2b046667880c5f 100644
|
| --- a/components/exo/wayland/clients/client_base.cc
|
| +++ b/components/exo/wayland/clients/client_base.cc
|
| @@ -112,25 +112,11 @@ void BufferRelease(void* data, wl_buffer* /* buffer */) {
|
| }
|
|
|
| #if defined(OZONE_PLATFORM_GBM)
|
| -void LinuxBufferParamsCreated(void* data,
|
| - zwp_linux_buffer_params_v1* params,
|
| - wl_buffer* new_buffer) {
|
| - ClientBase::Buffer* buffer = static_cast<ClientBase::Buffer*>(data);
|
| - buffer->buffer.reset(new_buffer);
|
| -}
|
| -
|
| -void LinuxBufferParamsFailed(void* data, zwp_linux_buffer_params_v1* params) {
|
| - LOG(ERROR) << "Linux buffer params failed";
|
| -}
|
| -
|
| const GrGLInterface* GrGLCreateNativeInterface() {
|
| return GrGLAssembleInterface(nullptr, [](void* ctx, const char name[]) {
|
| return eglGetProcAddress(name);
|
| });
|
| }
|
| -
|
| -zwp_linux_buffer_params_v1_listener g_params_listener = {
|
| - LinuxBufferParamsCreated, LinuxBufferParamsFailed};
|
| #endif
|
|
|
| wl_registry_listener g_registry_listener = {RegistryHandler, RegistryRemover};
|
| @@ -313,10 +299,11 @@ bool ClientBase::Init(const InitParams& params) {
|
| buffers_.push_back(std::move(buffer));
|
| }
|
|
|
| - wl_display_roundtrip(display_.get());
|
| for (size_t i = 0; i < buffers_.size(); ++i) {
|
| + // If the buffer handle doesn't exist, we would either be killed by the
|
| + // server or die here.
|
| if (!buffers_[i]->buffer) {
|
| - LOG(ERROR) << "LinuxBufferParamsCreated was not called on the buffer.";
|
| + LOG(ERROR) << "buffer handle uninitialized.";
|
| return false;
|
| }
|
|
|
| @@ -388,8 +375,6 @@ std::unique_ptr<ClientBase::Buffer> ClientBase::CreateBuffer(
|
|
|
| buffer->params.reset(
|
| zwp_linux_dmabuf_v1_create_params(globals_.linux_dmabuf.get()));
|
| - zwp_linux_buffer_params_v1_add_listener(buffer->params.get(),
|
| - &g_params_listener, buffer.get());
|
| for (size_t i = 0; i < gbm_bo_get_num_planes(buffer->bo.get()); ++i) {
|
| base::ScopedFD fd(gbm_bo_get_plane_fd(buffer->bo.get(), i));
|
| uint32_t stride = gbm_bo_get_plane_stride(buffer->bo.get(), i);
|
| @@ -397,8 +382,8 @@ std::unique_ptr<ClientBase::Buffer> ClientBase::CreateBuffer(
|
| zwp_linux_buffer_params_v1_add(buffer->params.get(), fd.get(), i, offset,
|
| stride, 0, 0);
|
| }
|
| - zwp_linux_buffer_params_v1_create(buffer->params.get(), width_, height_,
|
| - drm_format, 0);
|
| + buffer->buffer.reset(zwp_linux_buffer_params_v1_create_immed(
|
| + buffer->params.get(), width_, height_, drm_format, 0));
|
|
|
| if (gbm_bo_get_num_planes(buffer->bo.get()) != 1)
|
| return buffer;
|
|
|