stikonas has quit [Remote host closed the connection]
kaspter has joined #panfrost
camus1 has joined #panfrost
kaspter has quit [Ping timeout: 240 seconds]
camus1 is now known as kaspter
kaspter has quit [Ping timeout: 246 seconds]
kaspter has joined #panfrost
camus1 has joined #panfrost
kaspter has quit [Ping timeout: 256 seconds]
camus1 is now known as kaspter
buzzmarshall has quit [Remote host closed the connection]
kaspter has quit [Ping timeout: 264 seconds]
kaspter has joined #panfrost
davidlt has joined #panfrost
davidlt has quit [Ping timeout: 260 seconds]
icecream95 has joined #panfrost
awordnot has quit [Read error: Connection reset by peer]
awordnot has joined #panfrost
guillaume_g has joined #panfrost
camus1 has joined #panfrost
kaspter has quit [Ping timeout: 272 seconds]
camus1 is now known as kaspter
davidlt has joined #panfrost
guillaume_g has quit [Ping timeout: 272 seconds]
guillaume_g has joined #panfrost
<icecream95>
alyssa: To get most of the benefit, CRC should be enabled for exported resources as well
<icecream95>
Without a side-channel to communicate CRC state, GPU blits will always have to be used for writes so the checksum is always correct
<icecream95>
One problem is what happens when two exported resources are written to at once--the hardware can only write CRC for one render target
<icecream95>
A solution could be zeroing the checksum for the other RTs in a compute shader and hoping that nothing rendered later has a checksum of zero...
<icecream95>
An assert might be fine too, util we find an application that actually needs to render to two window surfaces at once
raster has joined #panfrost
robmur01__ has joined #panfrost
stikonas has joined #panfrost
robmur01__ is now known as robmur01
<daniels>
well, you have two options there
<daniels>
one is to declare an extra modifier which has the CRC state in an auxiliary plane, to guarantee that both sides understand and update the CRC
<daniels>
the other is to not do that, and assume that anything external is unaware of the CRC and that it might be trashed when it comes back to you
<daniels>
this is basically what happens with Intel/AMD external 'compression' (i.e. memory bandwidth optimisation, not AFBC-style inline compression), where you do a full resolve when it goes out, then assume when it comes back that the external state is invalid
<macc24>
how's AFBC support on midgard?
<icecream95>
daniels: Would that be of much help for a tiled renderer, where you (hopefully) write to each resource once before sending to the compositor?
<icecream95>
macc24: It works and is enabled by default, but currently forces much more GPU synchronisation than needed, so a couple of games (such as DarkPlaces) are unplayable
<daniels>
icecream95: in Wayland you can assume that your resource is not going to be modified, yeah
<daniels>
that's not necessarily true of X11, and it's very not true of GBM, where people do use it for alloc + export and then import elsewhere to mangle it