oh no...
I'm not sure I can actually do the NV12 planar output using 2 color attachments, because the UV part is half the height of of the Y part, does vulkan require color attachments to have the same size? I'd assume so since there is only one viewport...

maybe i gotta use multiple passes...

using nv12 as the output format is just a little insane like come on game *pokes it with a stick*

@lizzy

Okay so…you’re doing planar output. And Vulkan. And YUV color space?

This is very confusing to me. Especially the planar part.

@rk yes…

the YUV color space is the smallest problem, i can just convert between rgb and yuv easily, the problem is really the planar format

if a 4x4 RGB image is this:

8R8G8B 8R8G8B 8R8G8B 8R8G8B 8R8G8B 8R8G8B 8R8G8B 8R8G8B 8R8G8B 8R8G8B 8R8G8B 8R8G8B 8R8G8B 8R8G8B 8R8G8B 8R8G8B

a 4x4 NV12 image is like this:

8Y 8Y 8Y 8Y 8Y 8Y 8Y 8Y 8Y 8Y 8Y 8Y 8Y 8Y 8Y 8Y 4U4V 4U4V 4U4V 4U4V 4U4V 4U4V 4U4V 4U4V

where each UV value corresponds to two vertically adjacent Y values

initially i missed this fact and thought it was a 1:1 UV <-> Y correspondence, which is why i considered multiple color attachments

@lizzy

So…I guess I missed the overarching context here. What are you doing that has planar graphics?

@rk it’s… related to the video processor MFT, which is a windows api to convert images (or streams of images, for deinterlacing, but that’s not relevant here) between different formats and/or crop, rotate etc. them… it’s a bit like imagemagick on crack

I’m dealing with a game that wants the output to be NV12

Video Processor MFT (Camerauicontrol.h) - Win32 apps

The video processor MFT is a Microsoft Media Foundation transform (MFT) that performs colorspace conversion, video resizing, deinterlacing, frame rate conversion, rotation, cropping, spatial left and right view unpacking, and mirroring.

@lizzy

Ah. You’re well beyond my expertise in this area then. If you were needing to deal with planar modes on an Amiga or with ILBMs (which I guess could actually be relevant?) I could help, but otherwise I’m well out of my bitdepth.

@rk i only learned this stuff yesterday  (well, the entire planar stuff at least, i've been hacking on video processor mft for a while now, but never really had to touch dxvk/vulkan code for it)

@lizzy

Ah. You and I are about forty years out of sync. I definitely need to catch up but, if you’re interested in how we dealt with memory bandwidth limitations the original planar modes on the Amiga (and similarly vintaged systems) some spelunking might be fun.

@rk im really interested in that yea
i've also watched a bunch of videos about the N64 where the membus is very limited while the cpu is very powerful, so often it's better write smaller, less cpu-efficient code - not unrolling loops etc.
it also has to share the membus with the gpu

@lizzy

I am only casually interested in the N64, but it comes from an era where these sorts of things really mattered because you were designing your own bus/architecture.

Also, randomly, do you know @mothcompute ? If not, lemme introduce y’all. You’re both way smarter than I am at these sorts of low-level details and I would enjoy watching y’all nerd out.

@rk @lizzy i actually got a nintendo 64 a couple weeks back and im honestly so excited to write some mips iii for it once im done with my current project

@mothcompute @lizzy

(Obligatory “See MIPS Run” is the best CPU architecture book ever comment.)

@mothcompute @lizzy

(You both need to nerd out *here*. I’ve already done the Twitter migration. I’m not going to BlueSky too. I’m too old and tired.)

@rk @mothcompute i'm not going to bluesky either it's a VC funded centralized corpo algorithm platform (but painted in "woke" colors or whatever, idk why people fall for that), not sure what I'd want there
@lizzy@social.vlhl.dev @rk @mothcompute i have a bsky but i use it exclusively to follow sex workers and porn artists. i follow some fedi people there but everyone's mostly inactive. the tech threads i see are deeply uninteresting to me and unlike here with my 100,000 character limit i am restricted and forced to split my paragraphs into like 5 individual replies. it stiffens my discussion because i have to focus on beginning and end sentences actually making sense as it transitions between replies. made a short post about a stephen king novel i have been reading and enjoyed the accuracy of minor details on... https://bsky.app/profile/puppygirlhornypost.bsky.zoner.work/post/3lniix5anj22c ended up feeling clunky and awkward no matter how much i tried to condense it
Amber (@puppygirlhornypost.bsky.zoner.work)

Never heard of KYO but kfor.com behaves similarly. At my hs anytime something "big" would happen like the time my friend passed out doing pull ups and had a seizure... they'd somehow immediately swarm campus alongside www.news9.com. so spot on the nose there. 2/2 https://www.news9.com/

Bluesky Social

@puppygirlhornypost2 @mothcompute @rk

unlike here with my 100,000 character limit i am restricted and forced to split my paragraphs into like 5 individual replies

the funny thing is I am anti character limit but you’re one of the few people who sometimes makes me consider that it could be a good idea

@lizzy@social.vlhl.dev @puppygirlhornypost2 @mothcompute @rk who else makes you consider character limits being a good idea ​
@sodiboo @mothcompute @rk @puppygirlhornypost2 i dunno but you definitely make me consider rate limits
@lizzy@social.vlhl.dev @mothcompute @rk @puppygirlhornypost2 HEY I ALREADY HIT MY OWN RATE LIMITS FREQUENTLY THANK YOU EVERY MUCH
@lizzy @sodiboo @rk @puppygirlhornypost2 i used to run into rate limits almost all the time until @lua i guess fixed it? i dont really know actually
@mothcompute @sodiboo @rk @puppygirlhornypost2 @lua this is now officially a hellthread btw
@lizzy@social.vlhl.dev @mothcompute @sodiboo @rk @lua all my threads end up as a hell thread.
@CAETFOOD @sodiboo @mothcompute @lua @rk @puppygirlhornypost2 @navi so what are yall up to this evening
@puppygirlhornypost2 @CAETFOOD @navi @lua @Kio @mothcompute @sodiboo @rk i love how we went from vulkan nv12 over amiga and n64 to bluesky to rate limits to lesbian vampire fic to trash talking each other to talking about our day
@lizzy @sodiboo @rk @navi @puppygirlhornypost2 @lua @mothcompute curled up on my bed, farty cause i ate too much soup
@lizzy@social.vlhl.dev @navi@social.vlhl.dev @mothcompute @CAETFOOD @lua @sylas @rk @puppygirlhornypost2 @Kio @yassie_j@labyrinth.zone haha. no. fuck right off with that mentality. half of us are on Misskey; forking is in our blood
petpet

petpet gif generator

@lizzy@social.vlhl.dev @yassie_j@labyrinth.zone @navi@social.vlhl.dev @mothcompute @CAETFOOD @Kio @lua @sylas @rk @puppygirlhornypost2 @silly @sneexy what no that's not where I get my pat emoji. I go to the global emote search and import them. like a normal fedi user.