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