On Mon, 04 Feb 2019 16:31:57 -0800 Eric Anholt <e...@anholt.net> said:

> Carsten Haitzler <ras...@rasterman.com> writes:
> 
> > On Fri, 1 Feb 2019 11:08:07 +0000 Emil Velikov <emil.l.veli...@gmail.com>
> > said:
> >
> >> Hi Carsten,
> >> 
> >> On 2019/01/31, Carsten Haitzler wrote:
> >> > On Wed, 30 Jan 2019 18:33:35 +0000 Emil Velikov
> >> > <emil.l.veli...@gmail.com> said:
> >> > 
> >> > You might want to hold off on this. My bugfix was actually patched out by
> >> > partly removing some of it. The void ptr math should never have been
> >> > there and wasn't in the final patch.
> >> > 
> >> > I'm talking about:
> >> > 
> >> > +                void *cpu2 = cpu + 8;
> >> > 
> >> > In 300d3ae8b1445b5060f92c77c0f577f4b7b2c7d6
> >> > 
> >> > At least with gcc8 mesa is a dud on Raspberry Pi (can't upload/downlaod
> >> > textures without crashing) without the fixes. I moved the secondary ptr
> >> > math into the ASM chunk because the C compiler seemed to just mess up
> >> > cpu2 ptr content/value for me on gcc8 (it also kept the parameter
> >> > inputs/outputs cleaner and consistent with other ASM chunks). Keeping
> >> > this as void ptr math alone is just wrong and asking for trouble and as
> >> > it unfixed a fix I already had in submitted patches.
> >> > 
> >> > Being at FOSDEM I now no longer have access to my OS image with all of
> >> > this set up to test and won't until next week. I can't dig in and verify.
> >> > Without my fixes at all it's a dead man walking with gcc8, and thus Arch
> >> > Linux is broken entirely on Rpi without it (and has been for a while
> >> > now).
> 
> FWIW, my testing was done on gcc 8.30 on raspberry pi.

I finally have time and am back with my Pi box. This was gcc 8.2.0 that I was
using.

> I skipped the part of moving the C expression into the asm because it
> didn't make sense, and appeared in the series before the part that
> actually fixed the asm clobbers bug, so it (like the .fpu neon part)
> looked like random hacks.

I did explicitly break just and only that change out. 0004 in the series was
just that. The log explained compiler bugs prevent calculating the address in C
(it ends up junk) so moved it to the asm block. That required changing the cpu2
refs all to be a register instead and add this register to the clobber list, so
of course the patch was more than just a 2 liner, but it was straightforward.

Let's get back to the point though. This "do the add in a register" that I
specifically commented in the source and in the commit log so you'd
understand was necessary. Without it I get crashes on texture uploads. I have
attached 2 files. v3d_cpu_tiling.h-reg and v3d_cpu_tiling.h-cpu2

With v3d_cpu_tiling.h-reg I get no segfaults. With v3d_cpu_tiling.h-cpu2 which
is what you ended up with (roughly - I'm just modding my exact src tree and
just this file and no others - just compare them side by side).

Now with the code that is there now in mesa 18.3.3 that was not meant to be
leads to:

Thread 1 "enlightenment" received signal SIGSEGV, Segmentation fault.
0x707fafdc in v3d_store_utile (cpu_stride=128, cpu=0x7482ad90, gpu_stride=16, 
gpu=0x7482b118) at ../mesa/src/broadcom/common/v3d_cpu_tiling.h:171
171                     __asm__ volatile (
(gdb) bt
#0  0x707fafdc in v3d_store_utile (cpu_stride=128, cpu=0x7482ad90, 
gpu_stride=16, gpu=0x7482b118) at 
../mesa/src/broadcom/common/v3d_cpu_tiling.h:171
#1  0x707fafdc in vc4_lt_image_aligned (to_cpu=<optimized out>, box=<optimized 
out>, cpp=<optimized out>, cpu_stride=<optimized out>, cpu=<optimized out>, 
gpu_stride=<optimized out>, gpu=<optimized out>) at 
../mesa/src/gallium/drivers/vc4/vc4_tiling_lt.c:157
#2  0x707fafdc in vc4_lt_image_helper (to_cpu=false, box=0x707d4d80 
<vc4_store_tiled_image+592>, cpp=4, cpu_stride=128, cpu=0x76ffea00 
<_rtld_local_ro+248>, gpu_stride=17443088, gpu=0x7482ad98) at 
../mesa/src/gallium/drivers/vc4/vc4_tiling_lt.c:245
#3  0x707fafdc in vc4_lt_image_cpp_helper (to_cpu=false, box=0x707d4d80 
<vc4_store_tiled_image+592>, cpp=4, cpu_stride=128, cpu=0x76ffea00 
<_rtld_local_ro+248>, gpu_stride=17443088, gpu=0x7482ad98) at 
../mesa/src/gallium/drivers/vc4/vc4_tiling_lt.c:266
#4  0x707fafdc in vc4_store_lt_image_neon (dst=0x7482ad98, 
dst_stride=dst_stride@entry=128, src=src@entry=0x4, src_stride=128, 
src_stride@entry=2130360492, cpp=cpp@entry=4, box=0x7efab8ac, box@entry=0x21) 
at ../mesa/src/gallium/drivers/vc4/vc4_tiling_lt.c:292
#5  0x707d4d80 in vc4_store_lt_image (box=0x21, cpp=<optimized out>, 
src_stride=<optimized out>, src=0x4, dst_stride=<optimized out>, dst=<optimized 
out>) at ../mesa/src/gallium/drivers/vc4/vc4_tiling.h:110
#6  0x707d4d80 in vc4_t_image_helper (to_cpu=false, box=0x1, cpp=4, 
cpu_stride=2130360492, cpu=0x4, gpu_stride=<optimized out>, gpu=0x40) at 
../mesa/src/gallium/drivers/vc4/vc4_tiling.c:167
#7  0x707d4d80 in vc4_store_t_image (box=0x1, cpp=4, src_stride=2130360492, 
src=0x707d1404 <vc4_texture_subdata+128>, dst_stride=<optimized out>, dst=0x40) 
at ../mesa/src/gallium/drivers/vc4/vc4_tiling.c:185
#8  0x707d4d80 in vc4_store_tiled_image (dst=0x40, dst_stride=<optimized out>, 
src=src@entry=0x7037c2c4 <st_TexSubImage+1124>, src_stride=2130360492, 
src_stride@entry=2130360756, tiling_format=1 '\001', cpp=4, 
box=box@entry=0x7efab9b4) at ../mesa/src/gallium/drivers/vc4/vc4_tiling.c:238
#9  0x707d1404 in vc4_texture_subdata (pctx=pctx@entry=0x9746a0, 
prsc=prsc@entry=0x10444b0, level=level@entry=3553, usage=usage@entry=0, 
box=0x7efab9b4, box@entry=0x7efab9ac, data=data@entry=0x7482a000, stride=128, 
stride@entry=1, layer_stride=4096, layer_stride@entry=4) at 
../mesa/src/gallium/drivers/vc4/vc4_resource.c:264
#10 0x7037c2c4 in st_TexSubImage (ctx=ctx@entry=0x975a98, dims=dims@entry=2, 
texImage=texImage@entry=0x103aa58, xoffset=128, xoffset@entry=3553, yoffset=1, 
yoffset@entry=0, zoffset=2130361340, zoffset@entry=164, width=32, 
width@entry=1, height=height@entry=32, depth=0, depth@entry=1, format=32993, 
format@entry=32, type=5121, type@entry=1, pixels=0x7482a000, 
pixels@entry=0x80e1, unpack=unpack@entry=0x97c26c) at 
../mesa/src/mesa/state_tracker/st_cb_texture.c:1461
#11 0x7033abfc in texture_sub_image (ctx=ctx@entry=0x975a98, dims=dims@entry=2, 
texObj=texObj@entry=0x103ece0, texImage=0x103aa58, target=<optimized out>, 
target@entry=3553, level=<optimized out>, level@entry=0, xoffset=3553, 
xoffset@entry=0, yoffset=0, yoffset@entry=1882461408, 
zoffset=zoffset@entry=164, width=32, width@entry=1, height=32, height@entry=0, 
depth=1, depth@entry=32, format=32993, format@entry=32, type=5121, 
type@entry=1, pixels=0x7482a000, pixels@entry=0x80e1) at 
../mesa/src/mesa/main/teximage.c:3333
#12 0x7033dd54 in texsubimage_err (ctx=0x975a98, dims=dims@entry=2, 
target=target@entry=3553, level=0, xoffset=164, yoffset=1, 
zoffset=zoffset@entry=0, width=32, width@entry=4, height=32, 
height@entry=1930035660, depth=depth@entry=1, format=32993, format@entry=32, 
type=5121, type@entry=32, pixels=0x7482a000, pixels@entry=0x80e1, 
callerName=0x70872680 "glTexSubImage2D") at 
../mesa/src/mesa/main/teximage.c:3391
#13 0x703414e0 in _mesa_TexSubImage2D (target=target@entry=3553, 
level=<optimized out>, xoffset=<optimized out>, yoffset=<optimized out>, 
width=32, width@entry=4, height=32, height@entry=1900067516, format=32993, 
format@entry=32, type=5121, type@entry=32, pixels=0x7482a000, 
pixels@entry=0x80e1) at ../mesa/src/mesa/main/teximage.c:3609
#14 0x730a01cc in glTexSubImage2D (target=target@entry=3553, level=<optimized 
out>, xoffset=<optimized out>, yoffset=<optimized out>, width=32, 
height=height@entry=32, format=format@entry=32993, type=type@entry=5121, 
pixels=pixels@entry=0x7482a000) at 
/usr/src/debug/_build/src/mapi/es2api/glapi_mapi_tmp.h:1806
#15 0x7140babc in _tex_sub_2d (gc=0x766c88, pix=0x7482a000, type=5121, 
fmt=32993, h=32, w=<optimized out>, y=<optimized out>, x=<optimized out>) at 
../src/modules/evas/engines/gl_common/evas_gl_common.h:963
#16 0x7140babc in evas_gl_common_texture_upload (tex=tex@entry=0x10b9c28, 
im=im@entry=0xdf3e78, bytes_count=bytes_count@entry=4) at 
../src/modules/evas/engines/gl_common/evas_gl_texture.c:1198
#17 0x7140bcc0 in evas_gl_common_texture_update (tex=tex@entry=0x10b9c28, 
im=im@entry=0xdf3e78) at 
../src/modules/evas/engines/gl_common/evas_gl_texture.c:1551
#18 0x7140d674 in evas_gl_common_texture_new (gc=gc@entry=0x766c88, 
im=0xdf3e78, disable_atlas=<optimized out>) at 
../src/modules/evas/engines/gl_common/evas_gl_texture.c:589
#19 0x71411acc in evas_gl_common_image_update (gc=gc@entry=0x766c88, 
im=im@entry=0xdf9688) at 
../src/modules/evas/engines/gl_common/evas_gl_image.c:818
#20 0x71412c70 in evas_gl_common_image_draw (gc=gc@entry=0x766c88, 
im=im@entry=0xdf9688, sx=28, sx@entry=1991433040, sy=2130361924, 
sy@entry=14653064, sw=9914016, sw@entry=0, sh=33, sh@entry=0, dx=6, 
dx@entry=32, dy=28, dy@entry=32, dw=16, dw@entry=6, dh=16, dh@entry=28, 
smooth=1, smooth@entry=16) at 
../src/modules/evas/engines/gl_common/evas_gl_image.c:1293
#21 0x713eee14 in eng_image_draw (eng=0x6ac4c8, eng@entry=0x0, data=0x6ac608, 
data@entry=0x6ac4c8, context=0x10b9ba0, context@entry=0x4, surface=0x10b8088, 
surface@entry=0x10, image=image@entry=0xdf9688, src_x=src_x@entry=0, src_y=0, 
src_y@entry=14653064, src_w=32, src_w@entry=0, src_h=32, src_h@entry=0, 
dst_x=6, dst_x@entry=32, dst_y=28, dst_y@entry=32, dst_w=16, dst_w@entry=6, 
dst_h=16, dst_h@entry=28, smooth=1, smooth@entry=16, do_async=do_async@entry=0 
'\000') at ../src/modules/evas/engines/gl_generic/evas_engine.c:1208
#22 0x76b2db50 in _draw_image (engine=engine@entry=0x0, 
data=data@entry=0x6ac4c8, context=context@entry=0x4, surface=0x10b8088, 
surface@entry=0x6ac608, image=0xdf9688, image@entry=0x10b8088, src_x=0, 
src_y=0, src_w=src_w@entry=32, src_h=32, src_h@entry=0, dst_x=6, 
dst_x@entry=28, dst_y=28, dst_y@entry=1995279876, dst_w=16, dst_w@entry=0, 
dst_h=dst_h@entry=16, smooth=1, smooth@entry=1900054128, do_async=0 '\000', 
do_async@entry=136 '\210', obj=<optimized out>) at 
../src/lib/evas/canvas/evas_object_image.c:1400
#23 0x76b33958 in _evas_image_render (eo_obj=eo_obj@entry=0x6ac4c8, obj=0x0, 
obj@entry=0x10606f0, engine=0x0, engine@entry=0x762ca78c <malloc+560>, 
output=0x6ac4c8, output@entry=0x6ac608, context=context@entry=0x10b9ba0, 
surface=surface@entry=0x10b8088, x=x@entry=-506, y=y@entry=-7, l=l@entry=0, 
t=t@entry=0, r=r@entry=0, b=b@entry=0, skip_map=skip_map@entry=0 '\000', 
do_async=do_async@entry=0 '\000') at 
../src/lib/evas/canvas/evas_object_image.c:2088
#24 0x76b33ca8 in evas_object_image_render (eo_obj=0x6ac4c8, obj=0x10606f0, 
type_private_data=0x10607a0, engine=0x762ca78c <malloc+560>, output=0x6ac608, 
context=0x10b9ba0, surface=0x10b8088, x=-506, y=-7, do_async=0 '\000') at 
../src/lib/evas/canvas/evas_object_image.c:1886
#25 0x76b9b3f0 in evas_render_mapped (evas=evas@entry=0x6aa188, 
eo_obj=0x80034f2b, obj=obj@entry=0x10606f0, context=context@entry=0xfd1b30, 
output=<optimized out>, output@entry=0x1031820, surface=<optimized out>, 
surface@entry=0x76b9b2f0 <evas_render_mapped+3420>, off_x=<optimized out>, 
off_x@entry=6997512, off_y=<optimized out>, off_y@entry=17531016, 
mapped=<optimized out>, mapped@entry=8, ecx=<optimized out>, ecx@entry=-7, 
ecy=<optimized out>, ecy@entry=7, ecw=<optimized out>, ecw@entry=480, 
ech=<optimized out>, ech@entry=0, proxy_render_data=<optimized out>, 
proxy_render_data@entry=0x0, level=<optimized out>, level@entry=11, 
do_async=<optimized out>, do_async@entry=0 '\000') at 
../src/lib/evas/include/evas_inline.x:367
#26 0x76b9b2f0 in evas_render_mapped (evas=evas@entry=0x6aa188, eo_obj=0x1, 
obj=0x0, obj@entry=0x1031820, context=context@entry=0xc9f200, output=<optimized 
out>, output@entry=0x102b7c8, surface=<optimized out>, surface@entry=0x76b9b2f0 
<evas_render_mapped+3420>, off_x=<optimized out>, off_x@entry=6997512, 
off_y=<optimized out>, off_y@entry=17531016, mapped=<optimized out>, 
mapped@entry=7, ecx=<optimized out>, ecx@entry=-7, ecy=<optimized out>, 
ecy@entry=6, ecw=<optimized out>, ecw@entry=480, ech=<optimized out>, 
ech@entry=0, proxy_render_data=<optimized out>, proxy_render_data@entry=0x0, 
level=<optimized out>, level@entry=10, do_async=<optimized out>, 
do_async@entry=0 '\000') at ../src/lib/evas/canvas/evas_render.c:2166
#27 0x76b9b2f0 in evas_render_mapped (evas=evas@entry=0x6aa188, eo_obj=0x1, 
obj=0x0, obj@entry=0x102b7c8, context=context@entry=0xc9f770, output=<optimized 
out>, output@entry=0xe73f60, surface=<optimized out>, surface@entry=0x76b9b2f0 
<evas_render_mapped+3420>, off_x=<optimized out>, off_x@entry=6997512, 
off_y=<optimized out>, off_y@entry=17531016, mapped=<optimized out>, 
mapped@entry=6, ecx=<optimized out>, ecx@entry=-7, ecy=<optimized out>, 
ecy@entry=5, ecw=<optimized out>, ecw@entry=480, ech=<optimized out>, 
ech@entry=0, proxy_render_data=<optimized out>, proxy_render_data@entry=0x0, 
level=<optimized out>, level@entry=9, do_async=<optimized out>, 
do_async@entry=0 '\000') at ../src/lib/evas/canvas/evas_render.c:2166
#28 0x76b9b2f0 in evas_render_mapped (evas=evas@entry=0x6aa188, eo_obj=0x1, 
obj=0x0, obj@entry=0xe73f60, context=context@entry=0x8efaa0, output=<optimized 
out>, output@entry=0xfa7d40, surface=<optimized out>, surface@entry=0x76b9b2f0 
<evas_render_mapped+3420>, off_x=<optimized out>, off_x@entry=6997512, 
off_y=<optimized out>, off_y@entry=17531016, mapped=<optimized out>, 
mapped@entry=5, ecx=<optimized out>, ecx@entry=-7, ecy=<optimized out>, 
ecy@entry=4, ecw=<optimized out>, ecw@entry=480, ech=<optimized out>, 
ech@entry=0, proxy_render_data=<optimized out>, proxy_render_data@entry=0x0, 
level=<optimized out>, level@entry=8, do_async=<optimized out>, 
do_async@entry=0 '\000') at ../src/lib/evas/canvas/evas_render.c:2166
#29 0x76b9b2f0 in evas_render_mapped (evas=evas@entry=0x6aa188, eo_obj=0x1, 
obj=0x0, obj@entry=0xfa7d40, context=context@entry=0x105f0f0, output=<optimized 
out>, output@entry=0xca13e0, surface=<optimized out>, surface@entry=0x76b9b2f0 
<evas_render_mapped+3420>, off_x=<optimized out>, off_x@entry=6997512, 
off_y=<optimized out>, off_y@entry=17531016, mapped=<optimized out>, 
mapped@entry=4, ecx=<optimized out>, ecx@entry=-7, ecy=<optimized out>, 
ecy@entry=3, ecw=<optimized out>, ecw@entry=480, ech=<optimized out>, 
ech@entry=0, proxy_render_data=<optimized out>, proxy_render_data@entry=0x0, 
level=<optimized out>, level@entry=7, do_async=<optimized out>, 
do_async@entry=0 '\000') at ../src/lib/evas/canvas/evas_render.c:2166
#30 0x76b9b2f0 in evas_render_mapped (evas=evas@entry=0x6aa188, eo_obj=0x1, 
obj=0x0, obj@entry=0xca13e0, context=context@entry=0xfcfa28, output=<optimized 
out>, output@entry=0xe11c88, surface=<optimized out>, surface@entry=0x76b9b2f0 
<evas_render_mapped+3420>, off_x=<optimized out>, off_x@entry=6997512, 
off_y=<optimized out>, off_y@entry=17531016, mapped=<optimized out>, 
mapped@entry=3, ecx=<optimized out>, ecx@entry=-7, ecy=<optimized out>, 
ecy@entry=2, ecw=<optimized out>, ecw@entry=480, ech=<optimized out>, 
ech@entry=0, proxy_render_data=<optimized out>, proxy_render_data@entry=0x0, 
level=<optimized out>, level@entry=6, do_async=<optimized out>, 
do_async@entry=0 '\000') at ../src/lib/evas/canvas/evas_render.c:2166
#31 0x76b9b2f0 in evas_render_mapped (evas=evas@entry=0x6aa188, eo_obj=0x1, 
obj=0x0, obj@entry=0xe11c88, context=context@entry=0xca0310, output=<optimized 
out>, output@entry=0x10613b0, surface=<optimized out>, surface@entry=0x76b9be98 
<evas_render_mapped+6404>, off_x=<optimized out>, off_x@entry=6997512, 
off_y=<optimized out>, off_y@entry=17531016, mapped=<optimized out>, 
mapped@entry=2, ecx=<optimized out>, ecx@entry=-7, ecy=<optimized out>, 
ecy@entry=1, ecw=<optimized out>, ecw@entry=480, ech=<optimized out>, 
ech@entry=0, proxy_render_data=<optimized out>, proxy_render_data@entry=0x0, 
level=<optimized out>, level@entry=5, do_async=<optimized out>, 
do_async@entry=0 '\000') at ../src/lib/evas/canvas/evas_render.c:2166
#32 0x76b9b2f0 in evas_render_mapped (evas=evas@entry=0x6aa188, eo_obj=0x1, 
obj=0x0, obj@entry=0x10613b0, context=context@entry=0x1, output=<optimized 
out>, output@entry=0xe1, surface=<optimized out>, off_x=<optimized out>, 
off_x@entry=0, off_y=<optimized out>, off_y@entry=-7, mapped=<optimized out>, 
mapped@entry=1, ecx=<optimized out>, ecx@entry=0, ecy=<optimized out>, 
ecy@entry=0, ecw=<optimized out>, ecw@entry=480, ech=<optimized out>, 
ech@entry=0, proxy_render_data=<optimized out>, proxy_render_data@entry=0x0, 
level=<optimized out>, level@entry=4, do_async=<optimized out>, 
do_async@entry=0 '\000') at ../src/lib/evas/canvas/evas_render.c:2166
#33 0x76b9be98 in evas_render_mapped (evas=evas@entry=0x6aa188, 
eo_obj=eo_obj@entry=0x0, obj=0xf047b8, context=0x7a2a38, 
context@entry=0x7a2668, output=<optimized out>, output@entry=0x6ac608, 
surface=<optimized out>, surface@entry=0x0, off_x=<optimized out>, 
off_x@entry=0, off_y=<optimized out>, off_y@entry=-2147268370, 
mapped=<optimized out>, mapped@entry=0, ecx=<optimized out>, ecx@entry=184, 
ecy=<optimized out>, ecy@entry=384, ecw=<optimized out>, ecw@entry=480, 
ech=<optimized out>, ech@entry=0, proxy_render_data=<optimized out>, 
proxy_render_data@entry=0x0, level=<optimized out>, level@entry=3, 
do_async=<optimized out>, do_async@entry=176 '\260') at 
../src/lib/evas/canvas/evas_render.c:1971
#34 0x76b9cf70 in evas_render_updates_internal_loop 
(eo_e=eo_e@entry=0x800016b6, evas=evas@entry=0x6aa188, output=0x7a2668, 
surface=0x0, surface@entry=0x1, context=context@entry=0x7a2668, 
top=top@entry=0x0, ux=480, uy=0, uw=184, uh=384, cx=480, cy=0, cw=184, ch=384, 
fx=fx@entry=0, fy=0, fy@entry=2130363788, skip_cutouts=skip_cutouts@entry=0 
'\000', cutout_margin=cutout_margin@entry=0x0, alpha=0 '\000', alpha@entry=124 
'|', do_async=do_async@entry=0 '\000', offset=0x7efac5fc, offset@entry=0x0, 
level=level@entry=0) at ../src/lib/evas/canvas/evas_render.c:3086
#35 0x76b9f27c in evas_render_updates_internal (eo_e=eo_e@entry=0x800016b6, 
make_updates=make_updates@entry=1 '\001', do_draw=do_draw@entry=1 '\001', 
do_async=do_async@entry=0 '\000') at ../src/lib/evas/canvas/evas_render.c:3551
#36 0x76ba0470 in evas_render_updates_internal_wait 
(eo_e=eo_e@entry=0x800016b6, make_updates=make_updates@entry=1 '\001', 
do_draw=do_draw@entry=1 '\001') at ../src/lib/evas/canvas/evas_render.c:3952
#37 0x76ba110c in _evas_canvas_render_updates (eo_e=0x800016b6, e=<optimized 
out>) at ../src/lib/evas/canvas/evas_render.c:3976
#38 0x76b1ece4 in evas_canvas_render_updates (obj=0x800016b6) at 
src/lib/evas/canvas/evas_canvas.eo.c:204
#39 0x76b275e4 in evas_render_updates (obj=<optimized out>) at 
src/lib/evas/canvas/evas_canvas.eo.c:736
#40 0x7661dd04 in ecore_evas_render (ee=0x617920) at 
../src/lib/ecore_evas/ecore_evas.c:187
#41 0x766236cc in _ecore_evas_idle_enter (data=<optimized out>) at 
../src/lib/ecore_evas/ecore_evas.c:297
#42 0x76ded168 in _ecore_call_task_cb (data=<optimized out>, func=<optimized 
out>) at ../src/lib/ecore/ecore_private.h:470
#43 0x76ded168 in _ecore_factorized_idle_process (data=0x5cb2c8, 
event=<optimized out>) at ../src/lib/ecore/ecore_idler.c:35
#44 0x75ff4308 in _event_callback_call (legacy_compare=0 '\000', 
event_info=0x7efac760, desc=0x76e3ad64 <_EFL_LOOP_EVENT_IDLE_ENTER>, 
pd=0x5c2148, obj_id=<optimized out>) at ../src/lib/eo/eo_base_class.c:1685
#45 0x75ff4308 in _efl_object_event_callback_call (obj_id=<optimized out>, 
pd=0x5c2148, desc=0x76e3ad64 <_EFL_LOOP_EVENT_IDLE_ENTER>, 
event_info=event_info@entry=0x0) at ../src/lib/eo/eo_base_class.c:1769
#46 0x75fedb40 in efl_event_callback_call (obj=obj@entry=0x80000009, 
desc=<optimized out>, event_info=event_info@entry=0x0) at 
../src/lib/eo/eo_base_class.c:1772
#47 0x76def568 in _ecore_main_loop_iterate_internal (obj=obj@entry=0x80000009, 
pd=pd@entry=0x5c2198, once_only=once_only@entry=0) at 
../src/lib/ecore/ecore_main.c:2378
#48 0x76deff18 in _ecore_main_loop_begin (obj=0x80000009, pd=pd@entry=0x5c2198) 
at ../src/lib/ecore/ecore_main.c:1191
#49 0x76df58dc in _efl_loop_begin (obj=<optimized out>, pd=0x5c2198) at 
../src/lib/ecore/efl_loop.c:83
#50 0x76df4424 in efl_loop_begin (obj=0x80000009) at 
src/lib/ecore/efl_loop.eo.c:28
#51 0x76df0028 in ecore_main_loop_begin () at ../src/lib/ecore/ecore_main.c:1274
#52 0x004362f4 in main (argc=<optimized out>, argv=<optimized out>) at 
../src/bin/e_main.c:1090

So I'm staring at the bug continuing (in one form or another). That's why I 
brought it up in mails a week or so before Mesa was getting released to avoid 
the crashes continuing. So can you please put the changes back? Without them 
it's provably broken as above. Thanks! :)

> >> Thus from stable POV, we're safe, since nothing has regressed per se. We
> >> will apply the extra patches for the next release.
> >> 
> >> Thanks
> >> Emil
> >> 
> >> P.S. How did you submit the patches - I cannot see them neither on mesa-dev
> >> mailing list nor gitlab MR.
> >
> > i mailed them to eric as he was listed as the maintainer.
> 
> I suggested an MR but said I'd accept mail, since raster didn't seem to
> want to use normal channels.

I don't have a mesa patch flow set up. At least as a one-off, mail seemed 
appropriate. If I find myself submitting more, I'll set things up more.


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
Carsten Haitzler - ras...@rasterman.com

Attachment: v3d_cpu_tiling.h-cpu2
Description: Binary data

Attachment: v3d_cpu_tiling.h-reg
Description: Binary data

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to