maciejjo has quit [Remote host closed the connection]
maciejjo has joined #lima
dev1990 has joined #lima
monstr has quit [Remote host closed the connection]
chewitt has joined #lima
<linkmauve>
I’m still looking at how the filesystem cache could possibly be plugged in, and the blob apparently returns a MBS1 file on glGetProgramBinary(), is there still some information missing from there to build the final shader binary?
<linkmauve>
Does the blob emulates the same formats as Lima?
<linkmauve>
Or maybe, is this “emulation” only needed with desktop GL, and in the GLES case there is no additional swizzle needed? Is this about GL_EXT_bgra?
<anarsoul>
linkmauve: blob doesn't emulate R and RG formats
<linkmauve>
Ah, that’d be bad for e.g. Weston’s emulation of various YUV formats.
chewitt has quit [Read error: Connection reset by peer]
chewitt_ has joined #lima
<anarsoul>
linkmauve: for FS cache you need to store sampler swizzles with the binary, you can use the binary only if all the swizzles match
<anarsoul>
look at etnaviv disk cache for reference?
<linkmauve>
Do you have a test program doing various swizzles so that I could compare stuff?
<linkmauve>
Also, would it make sense to do binary patching instead of recompiling?
<anarsoul>
recompile it
<anarsoul>
see 77af1ca690f4f49e305c095d97b9af798bfea307 for the reference on how disk cache was implemented for etnaviv
<daniels>
lack of R/RG support is absolutely the least painful thing about trying to use the blob
chewitt_ has quit [Read error: Connection reset by peer]
chewitt has joined #lima
<anarsoul>
daniels: definitely, it's much easier to get mesa working
<linkmauve>
I don’t even have access to the blob atm, IIRC only Linux 3.4 was available for my boards. ^^'
<linkmauve>
My distribution definitely won’t support a kernel that ancient.
<anarsoul>
there's sunxi-mali for allwinner boards
<linkmauve>
Is there anything left to discover from this driver?
<anarsoul>
who knows? :)
<linkmauve>
^^
chewitt has quit [Quit: Zzz..]
yann has quit [Ping timeout: 265 seconds]
yann has joined #lima
<linkmauve>
Ok, I’m debugging the crash from yesterday (https://linkmauve.fr/files/gtk-lima.txt) and obviously there are not 818 slots in a ppir_op_undef (there are actually none).
<linkmauve>
What does an undef op mean?
<anarsoul>
can you try running it with NIR_PRINT=1 to see what we get from NIR?
<linkmauve>
I’m adding a PPIR_INSTR_SLOT_END there, hopefully it’ll at least prevent the segfault.
<linkmauve>
Sure.
<linkmauve>
Wow, it spams a lot.
<linkmauve>
With ssh compression it goes better.
<anarsoul>
linkmauve: you're not supposed to get undef there if I'm not mistaken, so it's a bug in compiler
<linkmauve>
Ok.
<linkmauve>
Would it make sense to at least assert it’s not?
<anarsoul>
can you share NIR_PRINT=1 output and the shader?
<linkmauve>
The only two values I see in the tmux buffer (I can redirect to a file if you want it entirely) are:
<linkmauve>
/* preds: */
<linkmauve>
vec3 32 ssa_1 = undefined
<linkmauve>
vec3 32 ssa_2 = undefined
<anarsoul>
share complete output (just use pastebin)
<anarsoul>
and fragment shader
<linkmauve>
It doesn’t seem to happen every time, when it works it generates a 121 MiB file.
<anarsoul>
:\
<anarsoul>
with the same shader?
<linkmauve>
With the same everything.
<linkmauve>
Which might be why yesterday shader-db was running fine.
<anarsoul>
well, it's important to pinpoint the shader that triggers it
<linkmauve>
Yesterday it was blend.glsl.
<linkmauve>
But I also noticed it was the very first shader being compiled.
<linkmauve>
Oh, coredumpctl!
<linkmauve>
From link_program() I can access shProg->Shaders[1]->Source, but the output is truncated. :(
<linkmauve>
And it won’t give me the NIR_PRINT=1 anyway, nvm.
<anarsoul>
:(
<linkmauve>
Also, when it works, it still takes ~18s (on master) instead of ~6s (on 20.3.4) to launch gtk4-demo, so something clearly isn’t right.
<anarsoul>
you can set MESA_SHADER_DUMP_PATH to some path to dump the shaders and run your program till it crashes. Make sure you clean the directory before each run
<linkmauve>
I’ve tried a loop of shader-run, doesn’t seem to trigger.