[Mesa-dev] [PATCH 0/7] i965: Enable rendering to dma_buf EGLImages

Chad Versace chad.versace at intel.com
Thu Apr 9 20:55:47 PDT 2015


Chrome OS needs this because its compositor uses dma_buf EGLImages for
its scanout buffers. The Mesa package in Chrome OS contains a little
patch that enables this, but the patch enables it dangerously.  This
patch series adds the required i965 plumbing to make it safe;
specifically, this series disables auxiliary buffers for
miptrees created from EGLImages.

Many people outside Chrome OS want this too, based on mesa-dev traffic
this year.  (Looking at you airlied).

The actual enabling occurs in the last patch.

Testing:
  - Tested on Ivybridge Chromebook Pixel with WebGL Aquarium and
    YouTube.
  - No Piglit regressions on Broadwell with `piglit run -p gmb
    tests/quick.py`, with my Piglit patch that updates the
    EGL_EXT_image_dma_buf_import test.

These patches live at
    git://github.com/chadversary/mesa
    refs/tags/i965-disable-aux-buffers-for-EGLImages-v03

The needed Piglit patch lives at
    git://github.com/chadversary/piglit
    refs/heads/i965-disable-aux-buffers-for-EGLImages

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=87452
Cc: Axel Davy <axel.davy at ens.fr>
Cc: Dave Airlie <airlied at redhat.com>
Cc: Volker Vogelhuber <v.vogelhuber at digitalendoscopy.de>
Cc: Zach Reizner <zachr at google.com>
Cc: Frank Henigman <fjhenigman at google.com>
Cc: Jordan Justen <jordan.l.justen at intel.com>
Cc: Tapani Pälli <lemody at gmail.com>
Cc: Marta Lofstedt <marta.lofstedt at intel.com>
Cc: Haixia Shi <hshi at chromium.org>
Cc: Topi Pohjolainen <topi.pohjolainen at intel.com>

Chad Versace (7):
  i965: Declare intel_miptree_alloc_mcs() as static
  i965: Declare intel_miptree_create_layout() as static
  i965: Refactor brw_is_hiz_depth_format()
  i965: Add field intel_mipmap_tree::disable_aux_buffers
  i965: Change intel_miptree_create_for_bo() signature
  i965: Disable aux buffers for EGLImage-backed miptrees
  i965: Lift some restrictions on dma_buf EGLImages

 src/mesa/drivers/dri/i965/brw_context.h         |  1 -
 src/mesa/drivers/dri/i965/brw_surface_formats.c | 19 -------
 src/mesa/drivers/dri/i965/intel_fbo.c           | 20 +++----
 src/mesa/drivers/dri/i965/intel_image.h         | 10 ++--
 src/mesa/drivers/dri/i965/intel_mipmap_tree.c   | 75 +++++++++++++++++++++----
 src/mesa/drivers/dri/i965/intel_mipmap_tree.h   | 33 +++++------
 src/mesa/drivers/dri/i965/intel_pixel_draw.c    |  3 +-
 src/mesa/drivers/dri/i965/intel_tex.c           |  3 +-
 src/mesa/drivers/dri/i965/intel_tex_image.c     | 29 +++++-----
 9 files changed, 111 insertions(+), 82 deletions(-)

-- 
2.2.0



More information about the mesa-dev mailing list