Mir

mir nested server failure: what(): error binding buffer to texture

Bug #1272041 reported by Kevin DuBois
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mir
Fix Released
Critical
Andreas Pokorny
mir (Ubuntu)
Fix Released
Critical
Unassigned

Bug Description

with lp:mir/devel (rev 1350) + lp:~vanvugt/mir/fix-1271853 on mako

host server:
root@ubuntu-phablet:/home/phablet# ./mir_demo_server_basic -f /tmp/oo
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::runtime_error> >'
 what(): error binding buffer to texture

nested server:
root@ubuntu-phablet:/home/phablet# ./mir_demo_server_basic --host-socket /tmp/a
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::runtime_error> >'
 what(): Failed to send message to server: Bad file descriptor
Aborted (core dumped)

logcat reports:
W/Adreno200-EGL(21940): <eglMakeCurrent:2749>: EGL_BAD_MATCH
E/libEGL (21940): eglMakeCurrent:593 error 3009 (EGL_BAD_MATCH)
W/Adreno200-EGLSUB(21891): <CreateImage:1363>: Unsupported buffer format: 3.
W/Adreno200-EGL(21891): <eglCreateImageKHR:4526>: EGL_BAD_PARAMETER

appears to be a regression in rev 1328

Tags: nested nexus4

Related branches

Kevin DuBois (kdub)
summary: - mir nested server failure
+ mir nested server failure: what(): error binding buffer to texture
Kevin DuBois (kdub)
description: updated
Michael Terry (mterry)
Changed in mir:
assignee: nobody → Andreas Pokorny (andreas-pokorny)
Changed in mir:
status: New → Confirmed
Revision history for this message
Kevin DuBois (kdub) wrote :

mir_pixel_format_bgr_888 is selected by the nested server from the list of supported pixel formats, then the nested asks for a reconfigure to bgr_888, (which AndroidDisplay ignores).

a quick fix is to just remove mir_pixel_format_bgr_888 from the list of display-supported-pixel formats in mga::AndroidDisplayConfiguration. The proper fix is to get the display format from mga::Framebuffers to mga::AndroidDisplayConfiguration.

Android's displays aren't quite as configurable as the KMS ones. In FB/HWC1.0, we read a struct member to get the singular display format. In HWC 1.1/1.2 we scan over the EGL configs for a suitable config/format match. In HWComposer 1.3, the display format is actually opaque to us.

Revision history for this message
Kevin DuBois (kdub) wrote :

"a quick fix is to just remove mir_pixel_format_bgr_888 from the list of display-supported-pixel formats..."

eg, remove
http://bazaar.launchpad.net/~mir-team/mir/development-branch/view/head:/src/platform/graphics/android/android_display_configuration.cpp#L29
for a quick bandaid

Changed in mir:
milestone: none → 0.1.5
status: Confirmed → In Progress
tags: added: nexus4
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:mir/devel at revision None, scheduled for release in mir, milestone Unknown

Changed in mir:
status: In Progress → Fix Committed
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

mir (0.1.4+14.04.20140204-0ubuntu1) trusty; urgency=medium

Changed in mir (Ubuntu):
importance: Undecided → Critical
status: New → Fix Released
Changed in mir:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.