[Mesa-dev] Android: apps crashed on Intel Gen9 GPU

Chih-Wei Huang cwhuang at android-x86.org
Wed May 11 16:25:25 UTC 2016


Testing android-x86 with mesa 11.2.2,
I found the Google Play crashed forever on
a device with Intel Gen9 GPU (e.g., Skylake).

After analyzing, the i965 driver seems to assume
irb->mt is not null. For example in
brw_meta_fast_clear of brw_meta_fast_clear.c:

      struct intel_renderbuffer *irb = intel_renderbuffer(rb);
      ...
      if (brw->gen >= 9 &&
          brw_format_for_mesa_format(irb->mt->format) !=
                                                    ^^^^^^^^^ => crashing
          brw->render_target_format[irb->mt->format])
         clear_type = REP_CLEAR;

If I added null checking to irb->mt, it fixes this crashing.
However, the app still crashed at other place that
accesses irb->mt similarly.
(brw_draw.c line 399, gen8_surface_state.c line 432, etc)

Please comment how to fix it correctly.
Why irb->mt is null but the code assumes it's not?


-- 
Chih-Wei
Android-x86 project
http://www.android-x86.org


More information about the mesa-dev mailing list