fourcc.py: Handle AFBC modifiers + whitelist
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.