ChanServ changed the topic of #zink to: official development channel for the mesa3d zink driver || https://docs.mesa3d.org/drivers/zink.html
orbea has quit [Quit: You defeated orbea! 2383232 XP gained!]
orbea has joined #zink
sinanmoh- has joined #zink
sinanmohd has quit [Read error: Connection reset by peer]
_xav_ has quit [Ping timeout: 480 seconds]
_xav_ has joined #zink
clem_ has joined #zink
<anholt_> do we have any existing debug tools for causes of compiles at draw time?
<zmike> can you elaborate on what you'd like to see?
<zmike> (the answer is no, but it could be yes very easily)
<anholt_> "zink_gfx_program_update_optimal didn't find a precompiled program because of the following non-default states in the gfx_hash"
<zmike> yeah nothing like that
<zmike> I'd hesitate to put it into an e.g., mesa_logd since that would get spammy, but on the other hand adding yet another ZINK_DEBUG...
<zmike> any thoughts on this?
<anholt_> util_debug_message() if ctx->dbg.callback would be great
<zmike> 🤔
<anholt_> ctx->dbg.debug_message
<anholt_> that would get apitrace to log it. I really liked having DRIVER_DEBUG=perf for having perf_debug() log to mesa_log on other drivers. It looks like right now we mesa_logw all the time, which seems like a bad idea
<zmike> hm
<zmike> I think I want the mesa_logw in its current lone user, but moving it outside of that would be fine too
<anholt_> if you can come up with the "message to describe draw-time shader compiles", I'll also look at hooking it up to perfetto. that would get chromeos borealis folks to notice them and provide more useful debug.
<zmike> okay, gimme a min and I'll punt it into my other ZINK_DEBUG MR
<zmike> anholt_: pushed
<zmike> I think that's what you want?
<anholt_> that's not triggering for me.
<zmike> hm
<anholt_> ../src/gallium/drivers/zink/zink_program.c:745 is the jank I'm looking at at the moment
<zmike> ahh okay so probably you're hitting the legacy gl feature path?
<anholt_> maybe? that's the thing I want some debug to help wtih
<zmike> yeah ok
<anholt_> the "why" not the "did it?"
<zmike> I think that would need to be in mesa/st
<anholt_> Check out the _mesa_perf_debug()s in st_program.c
<zmike> hm
<zmike> I'd expect that to be hit for this?
<zmike> well...hm
<zmike> so is the condition at zink_program.c:745 true or false?
<anholt_> oh no. apparently mesa_perf_debug only does its thing for debug contexts?
<zmike> not ideal
<zmike> added one more perf_debug that'll catch that case, though probably _mesa_perf_debug in st_program.c should be made more proactive somehow
<anholt_> https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22928 and now frontend precompiles are down to just alpha func
<anholt_> *precompile misses
<zmike> wow that's big
<zmike> I think antonino is working on async precompiles with legacy features
clem_ has left #zink [#zink]