ChanServ changed the topic of #asahi-gpu to: Asahi Linux: porting Linux to Apple Silicon macs | GPU / 3D graphics stack black-box RE and development (NO binary reversing) | Keep things on topic | GitHub: https://alx.sh/g | Wiki: https://alx.sh/w | Logs: https://alx.sh/l/asahi-gpu
darkapex has joined #asahi-gpu
chadmed has joined #asahi-gpu
<yuni>
lina: It looks like 16-bit pixel formats use 128x64 tiles, and 64-bit pixel formats use 64x32 tiles.
<yuni>
This seems annoying to deal with... non-square tiles sound complicated.
<yuni>
It's sensible -- it means that 1 tile is exactly 1 page.
<Ella[m]>
warning: it's cursed and messy :) no cleanup at all
<alyssa>
Ella[m]: Ok, something I notice off the bat:
<alyssa>
You have the idea of "CPU jobs" for copies and such...? I know it's not implemented but I have bad news -- that won't work even if it is implemented.
<Ella[m]>
oh that's old :) i already know
<alyssa>
Unlike in OpenGL (where the driver can "stop the world" at any time and takeover --
<alyssa>
got it will shut up :)
<Ella[m]>
i just haven't removed it
<alyssa>
for the benefit of others reading backlog
<alyssa>
Unlike in OpenGL (where the driver can "stop the world" at any time, split the render pass, and do some work on the CPU, and ping pong back), Vulkan really requires everything to happen on the GPU (except where the API specifically happens on the CPU)
<alyssa>
Ella[m]: Also, to actually implement those copies and things, there's a bit of talk around building a "vk_blitter" like we have u_blitter in gallium, but this is nontrivial unfortunately :(
<alyssa>
there's also maybe hardware support for some(?) blits and copies, lina thinks she saw something relevant in the kernel, but I haven't looked at all because on the gl side I don't really care
<Ella[m]>
alyssa: oh cool, i think i was gonna do something similar to what v3dv has (which i think some of the other drivers also have) with meta pipelines blitting (v3dv_meta_copy, v3dv_meta_clear, ...) i'll poke around a bit to see if i come across any hardware support for this stuff tho.
<alyssa>
for panvk, I'd really like the v3dv meta pipeline approach to be generalized to common code
<alyssa>
realistically if that's an option for agxv you'll want that for the first draft of the driver at least, more pressing matters.
<Ella[m]>
yup i'll probably do that at first :) idk first thing is getting my triangle thingy to render properly.