Skip to content

fourcc.py: Handle AFBC modifiers + whitelist

Simon Ser requested to merge mod-whitelist into master

Created by: ascent12

Closes #40 (closed)

ARM Framebuffer Compression is a structured modifier that we just gave up on parsing before. This adds the code to generate all of the possible combinations of arguments for printing.

There are 8 bits that can be set, plus 5 possible block sizes (including not specified). This adds over 2000 lines of generated C code to tables.h, so it has been split out into a C file instead of an inline function inside of the header.

This also makes our matching a bit more strict, so future complex modifers should not be matched, and require to be added explicitly.


I looked in the drmdb to see if there was anything that exposed an AFBC modifier, but after not looking very hard I could not find one. But I believe I have done this correctly. The original reason I wanted to generate code for tables.h was specifically for complex modifiers like this.

Merge request reports