drm/vc4: Introduce shader validation and better command stream validation.

This is an import of the code I developed up in Mesa against the
simulator.  It rewrites the kernel ABI to support validation of
uniforms, which is required for relocating references to texture
contents.

Note that the docs in the shader validator are aspirational -- we
don't yet handle the force-unmapping of shader BO contents, nor do we
do any caching.

v2: Don't forget to git add vc4_qpu_defines.h

Signed-off-by: Eric Anholt <eric@anholt.net>
drm/vc4: Rename a struct exec_info argument for consistency with the rest.

Signed-off-by: Eric Anholt <eric@anholt.net>
drm/vc4: Add support for binner overflow memory allocation.

We should probably hang on to some of this memory across renders,
since most renders will want some binner overflow.

Signed-off-by: Eric Anholt <eric@anholt.net>
vc4: Add texture tiling support and fix multi-level texture validation.

Signed-off-by: Eric Anholt <eric@anholt.net>