<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