freedreno/a3xx: unify vertex/texture formats into a single table

The table contains all the relevant information about each format. The
helper functions now just do lookups in the table.

Note that this adds support for a lot of formats that were previously
unsupported. Additionally it adds disabled support for integer render
buffers, which will require more work to actually enable.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
WIP freedreno/ir3: add POPC/BREV/MSB/LSB opcode support

These are part of GLES3.1 and ARB_gpu_shader5. The bitfield
extract/insert operations are still to be done.

XXX this apparently doesn't work... maybe the opcodes aren't really
there?

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
WIP freedreno/ir3: add TG4 support

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
WIP freedreno/ir3: fix UMAD to use right mad instruction variant

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
freedreno/ir3: add system value support

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
freedreno: pass number of instances to draw

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
WIP int rb
WIP srgb rb