nsneck has quit [Remote host closed the connection]
nsneck has joined #zink
<zmike>
baryluk: which glmark case has the vram leak?
<zmike>
baryluk: also new wip up which may fix a couple hangs
<baryluk>
zmike: It was reproducing easily, but after fixing few unitialized variables, it stopped reproducing...
<baryluk>
zmike: it was any case. any benchmark would leak. setting duration to 0.01 second, and letting it sit for few minutes you will see stead grow, no matter the selected benchmark.
<baryluk>
zmike: you do not need the cast. it changes nothing. memset already casts to void* anyway.
<zmike>
I'm just doing a meme
<zmike>
I'd bet other mesa components are affected by this
<zmike>
might be worth writing a mail to the list to see if anyone wants to come up with a unified solution
<zmike>
but for now
<zmike>
uhhh
<zmike>
🤔
<baryluk>
Well. this function create_bvci is a little bit special, because it allocated one on stack, then returns by value. my guess a big chunk of other places use rzalloc and pass pointer.
<baryluk>
i.e. I checked panfrost usage of _mesa_hash_data and that is what they do there.
<zmike>
hm could be
<zmike>
anyway, it's friday night, so I'm in full problem solving as fast as possible to get on the weekend mode
<zmike>
there's a bunch of these types of functions around in zink
<baryluk>
Yeah. I just grepped. and almost half of the calls are in zink
<zmike>
haha
<baryluk>
zmike: sure. that works too, looks reasonably conformant. not sure about the pointer aliasing, but we would not use struct with pointers as hash input usually.
<baryluk>
also the end result is same as with memset(, 0, )
<zmike>
is it? should've checked that
<baryluk>
byte by byte the same
<zmike>
in theory though this should require all compilers to fully zero right?
<zmike>
it's an array with no holes
<zmike>
what I'd probably do then is make this a macro/inline function so variables can just be declared more simply like ZERO(VkBufferViewCreateInfo, bvci);