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.
Closes #40
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.