BRT Community

Please login or register.

Login with username, password and session length
Advanced search  

News:

Welcome to the Bridgetek Community!

Please read our Welcome Note

Technical Support enquires
please contact the team
@ Bridgetek Support

Please refer to our website for detailed information on all our products - Bridgetek - Bridging Technology

Author Topic: BT81x -- used ASTC-Format  (Read 9303 times)

JuergenD

  • Newbie
  • *
  • Posts: 5
    • View Profile
BT81x -- used ASTC-Format
« on: April 26, 2019, 04:10:24 PM »

Hello,
as I understood, the ASTC-Format is a standard  Format, which is also used for different other GPUs, e.g. Nvidia, Andriods .

Is it necessary to use the 'original' Asset builder to convert Pictures to the ASTC-Format, used for BT81x or is it also possible to use ASTC-Pictures, directly generated from 3rd Party Tools?

In other words: does the ASTC-Format, which is used for the BT81x meet the Standards or is this a kind of propriatary format for the BT81x?

I am asking because I generated a ASTC pic, (of Course with the right Resolution and Format Settings) with a different tool and the binary, generated with this tool,  looked completely different to the pic, which was converted with the asset Manager. Header info looked completely different. (and is not working as expected)

Thank you


   
Logged

BRT Community

  • Administrator
  • Hero Member
  • *****
  • Posts: 734
    • View Profile
Re: BT81x -- used ASTC-Format
« Reply #1 on: April 29, 2019, 12:57:00 PM »

Hello,

In short, our EAB tool is using the ARM ASTC encoder to convert the PNG into ASTC blocks.  However, our EVE decoder assumes certain policy of ASTC block layout, it is called tile in 2x2.   Mentioned in the Programmers guide.

When there is an odd number of blocks on a line, the final two blocks are packed into a 1x2. When
there is an odd number of rows, then the final row of blocks is linear.
The diagram in section 6.1 of the programmers guide shows the same piece of memory loaded with ASTC blocks drawn with ascending memory addresses. The first column shows the addresses used by cell 0, the second column cell 1.

Best Regards,
BRT Community
Logged

JuergenD

  • Newbie
  • *
  • Posts: 5
    • View Profile
Re: BT81x -- used ASTC-Format
« Reply #2 on: April 30, 2019, 11:26:42 AM »

Hello,

thank you for your quick reply.

Unfortunately we have to use the ARM ASTC Encoder because this encoding must necessarily run on a Linux machine which feeds the content to an embedded device (which contains the BT81x)

The idea is to take the format, generated by the ARM Encoder, load it to the target  and convert it on the target before we load it to the BT Flash.
Means we have to write a converter for it, basically the same which you did in the Asset manager.

It would be very helpful for us to have some more Information about this conversion from the output, generated by the ARM ASTC Encoder to the format used by the BRT (and generated by the EAB Tool. It would save us a lot of time.

Could you provide us a code snippets for this conversation of this part of Code to get the ARM ASTC Output running on the BT81x?
Or maybe some more information or example?

Appreciate your help, thanks in advance.

Juergen
Logged

BRT Community

  • Administrator
  • Hero Member
  • *****
  • Posts: 734
    • View Profile
Re: BT81x -- used ASTC-Format
« Reply #3 on: May 02, 2019, 10:50:44 AM »

Hello,

Please have a look at the attached code snippet, written in python where the 'f' object is the output of the ARM ASTC encoder. This has a 16 byte header as follows:

Code: [Select]
struct astc_header { uint8_t magic [ 4 ];
uint8_t blockdim_x;
uint8_t blockdim_y;
uint8_t blockdim_z ;
uint8_t xsize [ 3 ];
uint8_t ysize [ 3 ];
uint8_t zsize [ 3 ]; };

Best Regards,
BRT Community
Logged

JuergenD

  • Newbie
  • *
  • Posts: 5
    • View Profile
Re: BT81x -- used ASTC-Format
« Reply #4 on: May 03, 2019, 08:13:48 AM »

Great, this is exactly what we need. Thank you
Logged