alyssa changed the topic of #panfrost to: Panfrost - FLOSS Mali Midgard & Bifrost - Logs https://freenode.irclog.whitequark.org/panfrost - <daniels> avoiding X is a huge feature
abordado has quit [Read error: Connection reset by peer]
megi has quit [Ping timeout: 265 seconds]
Stary has quit [Quit: ZNC - http://znc.in]
Stary has joined #panfrost
stikonas has quit [Remote host closed the connection]
nerdboy has quit [Ping timeout: 260 seconds]
Depau has quit [Ping timeout: 258 seconds]
Depau has joined #panfrost
icecream95 has joined #panfrost
HdkR has joined #panfrost
camus has joined #panfrost
kaspter has quit [Ping timeout: 265 seconds]
camus is now known as kaspter
camus has joined #panfrost
kaspter has quit [Ping timeout: 265 seconds]
camus is now known as kaspter
_whitelogger has joined #panfrost
davidlt has joined #panfrost
_whitelogger has joined #panfrost
_whitelogger has joined #panfrost
davidlt has quit [Ping timeout: 265 seconds]
icecream95 has quit [Ping timeout: 268 seconds]
abordado has joined #panfrost
megi has joined #panfrost
stikonas has joined #panfrost
EmilKarlson has quit [Quit: killed]
flacks has quit [Quit: killed]
TheCycoONE1 has quit [Quit: killed]
thefloweringash has quit [Quit: killed]
raster has joined #panfrost
AreaScout_ has quit [Ping timeout: 268 seconds]
AreaScout_ has joined #panfrost
davidlt has joined #panfrost
_whitelogger has joined #panfrost
abordado_ has joined #panfrost
abordado_ has quit [Read error: Connection reset by peer]
abordado has quit [Ping timeout: 260 seconds]
flacks has joined #panfrost
EmilKarlson has joined #panfrost
thefloweringash has joined #panfrost
<HdkR> With HardKernel releasing this cute Bifrost board in a month. Makes me want to work on Panfrost again https://forum.odroid.com/viewtopic.php?f=187&t=37202
TheCycoONE1 has joined #panfrost
davidlt has quit [Ping timeout: 240 seconds]
warpme_ has joined #panfrost
yann|work has joined #panfrost
_whitelogger has joined #panfrost
stikonas has quit [Remote host closed the connection]
stikonas has joined #panfrost
jernej has quit [Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net]
jernej has joined #panfrost
abordado has joined #panfrost
<alyssa> HdkR: \o/
<HdkR> :P
davidlt has joined #panfrost
<alyssa> So, Midgard supports desktop GL only wrapping modes in hardware
<alyssa> --*Extensions* to desktop GL, even
<alyssa> GL_MIRROR_CLAMP_TO_BORDER, GL_MIRROR_CLAMP_TO_EDGE
<alyssa> And even ancient GL_CLAMP and GL_MIRROR_CLAMP
<alyssa> That was a fun find.
<HdkR> I saw recently that the bitfield was large enough for that
<alyssa> HdkR: Yeah, but I can't believe it's actually there.
<HdkR> very neat
<alyssa> Are those in DirectX somewhere?
<alyssa> D3D i guess has `MirrorOnce` which would correspond to GL_MIRROR_CLAMP_TO_EDGE
<alyssa> So maybe it was just a precautionary thing
<HdkR> I don't know D3D to know
* alyssa shrug
<alyssa> We have GL_QUADS and GL_POLYGON so who knows!
<alyssa> works out just fine for us implementing desktop GL on the hardware.
<HdkR> Sounds like the hardware teams and the software teams aren't quite thinking about the same picture :P
<alyssa> :D
<alyssa> Anyway, back to MRT
<alyssa> That was a good warmup anyhow
<alyssa> But first integer framebuffers
davidlt has quit [Ping timeout: 240 seconds]
abordado has quit [Remote host closed the connection]
icecream95 has joined #panfrost
<anarsoul> alyssa: how do you make sure that attributes are aligned on midgard? looks like you also need aligned addresses in attributes descriptors
<anarsoul> (aligned to 64-byte boundary)
<alyssa> anarsoul: ugh.
milkii has joined #panfrost
<alyssa> `panfrost_stage_attributes`
<alyssa> It's not pretty.
<anarsoul> yeah, I'm trying to understand how it's supposed to work :)
<anarsoul> thanks
<alyssa> Probably we could fix Gallium to 64-byte align vertex buffers and add a CAP for it ... you probably don't want to actually implement that hack.
<anarsoul> yeah, that'd be nice
<alyssa> But conceptually, GLES lets you add a src offset for a particular vertex
<alyssa> So we abuse that to add on the unaligned portion, so the hardware thinks it has an aligned buffer
<alyssa> Probably bad for perf in addition to being a big hack justified by some algebra
<anarsoul> any pointers on where to hack gallium to align vertex buffers?
<alyssa> Hmm, well,
<alyssa> There are really two cases I guess
<alyssa> 1) BOs we allocate. Check the usage in lima_resource_create and if it could be used as an attribute, tell the kernel to align it. Or, if your kernel doesn't know how to do that, allocate an extra 64 bytes and do a mask off hack (but probably if you just allocate a multiple of 4k or whatever, it'll force alignment)
Depau has quit [Ping timeout: 265 seconds]
<alyssa> 2) User vertex buffers. I think you can just refuse to handle these and they'll get lowered if you disable the CAP.
<alyssa> Although, wait
<alyssa> you still need to ensure buf->buffer_offset is aligned somehow..
<anarsoul> BOs are already aligned to page size
<alyssa> So buffer_offset is the problem
<alyssa> Oh, this is interesting
<anarsoul> yeah, I think so
<alyssa> There's already PIPE_CAP_VERTEX_BUFFER_OFFSET_4BYTE_ALIGNED_ONLY
<alyssa> Just a matter of generalizing that to PIPE_CAP_VERTEX_BUFFER_OFFSET_ALIGNMENT where 4 is one possible value, but the Malis can use 64
<anarsoul> thanks, I'll try that
<alyssa> anarsoul: Although I think performance might suck in that case since I think then you're doing extra copies?
<alyssa> So maybe you'd rather do that but then implement the panfrost hack in util/u_vbuf.c so it's zero-copy
Depau has joined #panfrost
<anarsoul> alyssa: hm, but hack isn't zero copy, is it?
<alyssa> anarsoul: It is?
<alyssa> the panfrost hack is zero-cop
<alyssa> y
* urjaman lol'd at zero-cop ... good hack indeed
stikonas has quit [Remote host closed the connection]