PVRTexTool: 3D texture Error recognizing R32G32B32A32 to A32B32G32R32

Hi
I am so confused that some of my 3D textures are wrongly recognized as ABGR32, and I wonder if it’s a bug or something…

To be specific,I have a texture with format RGBA32, and it works well in other texture tool such as RenderDoc, but when I open it with PVRTextool GUI , it turns out that channels are switched, the channel A in PVR is actually channel R. I use CLI to save to KTX with format R32G32B32A32, and KTX cannot view in GUI, I’ve tried encoding to ASTC_8x8,which can open correctly,but channels are wrong too…

By the way , the version of PVRTextool GUI is 5.2.0, the version of CLI is 4.20.

Hi Subeipo,

Welcome to PVR Developer forum!

Would you be able to share the input texture with us ?
Also, could you tell us the command you are using to encode to KTX?

and KTX cannot view in GUI

When I tried loading one with R32G32B32A32FloatLinear format with .pvr container type encoded to KTX, the GUI seem to load it just fine with same channel order retained.

Also, could you try using our latest PVRTexTool v5.3.0 ?

Best Regards,
Nagnath

Thanks for your reply!

This time I’ve tried the newest version v5.3.0, However the channel error still exist.

The command I used : PVRTextoolCLI.exe -i rgba32.dds -f R32G32B32A32 -o rgba32.ktx

The Textures are below:
textures.zip (746 Bytes)

The attached “rgba32.dds” is observed to be detected and seems to have encoded format of A32B32G32R32 Float Linear. I could also confirm the same using DirectX Texture Tool.
Though, you could use encode option from GUI and select the right order & format of your choice.

The command I used : PVRTextoolCLI.exe -i rgba32.dds -f R32G32B32A32 -o rgba32.ktx

The command seems to be missing few flags for format. Could you please try the following,
PVRTexToolCLI -i rgba32.dds -f R32G32B32A32,SF,lRGB -o rgba32.ktx

Best Regards,
Nagnath

The new command works, Thank you very much!
DirectX Texture Tool displays ARGB too, but the format flag in dds is 2(DXGI_FORMAT_R32G32B32A32_FLOAT) .It’s kind wired then, Maybe I should find reasons on my textures.
Thanks again!