i965: Add support for instruction compaction.
authorEric Anholt <eric@anholt.net>
Wed, 1 Feb 2012 00:55:20 +0000 (16:55 -0800)
committerEric Anholt <eric@anholt.net>
Mon, 17 Sep 2012 19:32:52 +0000 (12:32 -0700)
commit077d01b673ec255005a1a847faf3be897517f4e7
tree25d3b6bd37420374b4fccb8ce661026850cd7ed4
parentf5e2706395904eb515a04c71966d7b96972f221a
i965: Add support for instruction compaction.

This reduces program size by using some smaller encodings for common bit
patterns in the Gen ISA, with the hope of making programs fit in the
instruction cache better.

v2: Use larger bitshifts for the uncompressed field setups, in line with the
    way it's described in the spec.  Consistently name a brw_compile "p" like
    all other code.  Add a couple more tests.  Consistently call things
    "compacted" not "compressed" (which is a different feature).  Drop the
    explicit check for not compacting SENDs, which is unjustified and already
    implied by our lack of support for immediate values.

Reviewed-by: Paul Berry <stereotype441@gmail.com>
src/mesa/drivers/dri/i965/.gitignore
src/mesa/drivers/dri/i965/Makefile.am
src/mesa/drivers/dri/i965/Makefile.sources
src/mesa/drivers/dri/i965/brw_eu.c
src/mesa/drivers/dri/i965/brw_eu.h
src/mesa/drivers/dri/i965/brw_eu_compact.c [new file with mode: 0644]
src/mesa/drivers/dri/i965/brw_eu_debug.c
src/mesa/drivers/dri/i965/brw_fs.cpp
src/mesa/drivers/dri/i965/brw_structs.h
src/mesa/drivers/dri/i965/test_eu_compact.c [new file with mode: 0644]