ChanServ changed the topic of #zink to: official development channel for the mesa3d zink driver || https://docs.mesa3d.org/drivers/zink.html
LexSfX has quit []
LexSfX has joined #zink
fahien has joined #zink
fahien has quit [Ping timeout: 480 seconds]
fahien has joined #zink
fahien1 has joined #zink
fahien has quit [Ping timeout: 480 seconds]
<zmike> ajax: I'm looking at passing resolve attachments through kopper to handle them more effectively
<zmike> do you think this is best done with a new pipe_context method or adding a new framebuffer state member
fahien1 is now known as fahien
<zmike> the idea would be to use this and delete the dri_pipe_blit in kopper_flush_frontbuffer
<zmike> I'm leaning towards framebuffer state
xroumegue has quit [Ping timeout: 480 seconds]
xroumegue has joined #zink
<zmike> or maybe not
anholt has quit [Ping timeout: 480 seconds]
anholt has joined #zink
<ajax> zmike: not sure, but happy to hear you're looking at that. i've never liked that resolve blit.
<zmike> ajax: I started out today with a very aggressive plan to eliminate it, but I've backed off a bit because it seems like drivers will still have to do some legwork due to hud/pp
<zmike> so it can't be deleted
<ajax> hmph
<zmike> yeah
<ajax> finally got around to trying mold. happy to find that relinking libgallium_dri.so drops from 3.8 to 0.35 seconds. disappointed to see that a clean rebuild only goes from 3:02 to 3:00.
<zmike> haha
<zmike> those seconds add up!
<zmike> but it's much better for cts builds
<zmike> linking there takes ages
<ajax> i wish ld had a way to keep a symbol (and its name) in the output object but mark it as unavailable for resolution when linking
<ajax> and then to embed that into the .o
<ajax> so you could do real incremental linking and say only these five symbols from libzink.a can possibly be what you're looking for
<zmike> would be nice
<zmike> could file a mold ticket and see what happens
<ajax> maybe. i feel like mold has so far shied away from changing the output format, even by extension.
<ajax> but i also have a toolchain team, and i love trolling them
<zmike> hahaha
fahien has quit [Ping timeout: 480 seconds]
<ajax> i guess you can get most of that with objcopy --localize
<ajax> except you want it in the same pass as ld -r and a round of LTO
<ajax> so, i guess you can maybe get that with ld -r -lto -version_script whatever
<ajax> and you don't _really_ need lto
<ajax> you'll be fine doing it at final link anyway, anyway
<ajax> so the question is really can i make ld -r preserve per-symbol-sections while localizing
omegatron has quit [Quit: What happened? You quit!]
<anholt> zmike: zink-simplify-ds of my tree might be of interest. looks like it's not quite correct yet.
<anholt> honestly was surprised to not find generic code doing it
* zmike pulls a branch
<zmike> what do we have here...
<anholt> android traces seem to have a good bit of stencil hilarity, so I'm hoping it helps someone.
<zmike> so I'm seeing from your turnip MRs
<zmike> huh yeah that does seem like something I'd expect frontends (or maybe even cso_context) to be doing
<zmike> but then again also not
<zmike> but then again, reducing it before lookup would deduplicate states, making the table smaller and subsequent lookups faster
<anholt> I don't think reducing before lookup makes any sense
<anholt> but we could certainly reduce in cso_context.c. We just don't have any examples of it that I found.
<zmike> I'm not sure there's many universal cases where csos can be reduced?
<zmike> so in that sense it makes sense that there's no prior art there
<zmike> closest would maybe be something like tc simplifying draw states
frogdoubler has left #zink [WeeChat 3.6]