i509vcb has quit [Quit: Connection closed for inactivity]
pac85 has joined #zink
<pac85>
zmike: now that I have one prog per variant does screen->pipeline_libs still make sense? After all all variants are stored in the same prog which is never replaced.
<zmike>
pac85: yes, that's for e.g. DOOM where the game compiles shaders in one context and uses them in another
<pac85>
zmike: oh I see, but if I want to remove the hash set from prog to avoid doing two hashset lookups (first prog then lib) it will need changes. I guess the set has to stay then, but only actually have it in the non variant prog (so screen->pipeline_libs doesn't get loocked up for every variant), then add a field with a single lib that I use for the variants and for the uber shader?
<zmike>
right, it only needs to have the precompile prog, no variants
<zmike>
contexts can handle compiling their own optimized variants
<zmike>
this only exists to handle precompile
<pac85>
Oh right, so does this mean that each entry in screen->pipeline_libs will only stores one lib? I mean currently the variants end up in those sets but with my changes it would end up with just one element all the time right?
<zmike>
yeah probably
<pac85>
right, so then I can store the library in the set directly.
<pac85>
thx
<pac85>
BTW the game would be DOOM 2016 right?
<zmike>
yeah that will make more sense when there's only one precompile shader
<zmike>
yes doom 2016
<zmike>
iirc it's even in the commit log that added it