V3D UIF texture format conversion with TFU

Macoy Madson macoy at macoy.me
Fri Mar 1 13:33:04 UTC 2024


Hello,

I have been looking at the code in Gallium/drivers/v3d related to 
texture conversion, specifically v3dx_tfu.c.

I have been trying to find how to convert a texture from raster format 
RGBA8 to UIF (either XOR or NO_XOR). I tried break-pointing the 
v3dX(tfu) function, but it doesn't appear to be called in my simple 
textured triangle OpenGL program on a Raspberry Pi 4 (VideoCore VI v. 42).

I am looking for where this conversion takes place, as it appears the 
VideoCore expects textures to be in another format before they can be 
sampled properly.

Is there anyone here who can point me to any one of the following:

- How v3dX(tfu) ends up getting used (e.g., a user-space program I can 
run to blit/convert a raster texture into a UIF texture)

- Any notes on the TFU interface itself (what the registers expect, 
beyond what can clearly infer from v3dX(tfu))

- If the TFU isn't used to convert to UIF, where the conversion takes place

I may have misunderstood the texture sampler. I am sampling a texture 
successfully (pixels are the color I expect) but the pixels are 
completely "out of order", which is what hints me that they need to be 
in UIF instead of raster format.

I would greatly appreciate someone to bounce a few V3D questions off of.

Thanks,

Macoy Madson

(Apologies if this was received before; I checked the archive and didn't 
see it, so I subscribed to the list and re-sent in case I need to be a 
subscriber to send. I sent this to mesa-dev since I am looking for low 
level details, so if this should go to the mesa list instead please let 
me know.)



More information about the mesa-dev mailing list