support for t628
Given the recent news about winsys, wanted to try panfrost on my peach pit laptop (exynos5420/mali t628). I'm running Debian Sid.
I've used a patched version of mali kbase r16p0-00rel0 (source from Debian with modifications to make it work on 4.18) and the binary driver seems happy with it. I had also to patch libdrm with patches from http://archive.lwn.net:8080/dri-devel/20181018200737.5953-1-christian.gmeiner@gmail.com/. After adding some glue to get support for exynos on panfrost, I tried kmscube, and it fails with:
Program received signal SIGBUS, Bus error.
panfrost_make_fixed_blend_mode (blend=0xb663a294 <default_blend>, out=0x73296d, colormask=0, blend_color=0x7534b0) at ../src/gallium/drivers/panfrost/pan_blending.c:483
483 ../src/gallium/drivers/panfrost/pan_blending.c: No such file or directory.
(gdb) bt
#0 panfrost_make_fixed_blend_mode (blend=0xb663a294 <default_blend>, out=0x73296d, colormask=0, blend_color=0x7534b0) at ../src/gallium/drivers/panfrost/pan_blending.c:483
#1 0xb62c0a16 in panfrost_make_fixed_blend_mode (blend=blend@entry=0xbefff72c, out=out@entry=0x73296d, colormask=0, blend_color=blend_color@entry=0x7534b0)
at ../src/gallium/drivers/panfrost/pan_blending.c:470
#2 0xb62bc4d2 in panfrost_create_blend_state (pipe=0x739980, blend=0xbefff728) at ../src/gallium/drivers/panfrost/pan_context.c:2540
#3 0xb65cf3da in util_blitter_create (pipe=pipe@entry=0x739980) at ../src/gallium/auxiliary/util/u_blitter.c:226
#4 0xb62bf5c0 in panfrost_create_context (screen=<optimized out>, priv=<optimized out>, flags=<optimized out>) at ../src/gallium/drivers/panfrost/pan_context.c:3152
#5 0xb6329462 in st_api_create_context (stapi=<optimized out>, smapi=0x72bc28, attribs=<optimized out>, error=0xbefff9d8, shared_stctxi=0x0) at ../src/mesa/state_tracker/st_manager.c:905
#6 0xb624c498 in dri_create_context (api=API_OPENGLES2, visual=0x72d9f0, cPriv=0x731c20, ctx_config=<optimized out>, error=0xbefffae4, sharedContextPrivate=0x0)
at ../src/gallium/state_trackers/dri/dri_context.c:161
#7 0xb62490ec in driCreateContextAttribs (screen=<optimized out>, api=<optimized out>, config=0x72d9f0, shared=<optimized out>, num_attribs=2, attribs=0xbefffae8, error=0xbefffae4,
data=0x626cb0) at ../src/mesa/drivers/dri/common/dri_util.c:473
#8 0xb6f64dc6 in dri2_create_context (drv=<optimized out>, disp=<optimized out>, conf=0x731558, share_list=<optimized out>, attrib_list=0x4073b4) at ../src/egl/drivers/dri2/egl_dri2.c:1249
#9 0xb6f5e96c in eglCreateContext (dpy=0x730d10, config=0x731558, share_list=<optimized out>, attrib_list=0x4073b4) at ../src/egl/main/eglapi.c:783
#10 0x004035d6 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
The panfrost version is from the gs branch, commit "Fix alpha test, maybe" (76a626e1).
So, I'm wondering if:
- it's a issue with my setup,
- panfrost works on 32bits,
- panfrost works with t628.