freedreno/a6xx: move const emit to state group
authorRob Clark <robdclark@gmail.com>
Sun, 7 Oct 2018 17:59:27 +0000 (13:59 -0400)
committerRob Clark <robdclark@gmail.com>
Wed, 17 Oct 2018 16:44:48 +0000 (12:44 -0400)
commitabcdf5627a29b7f1856b86bce4ff9bd0029a3099
treef28d2aaa8e5eb6aec707217d9bd61b641aa991b2
parenta398d26fd2cb1ef075a07fa91d2c74613982a66f
freedreno/a6xx: move const emit to state group

Eventually we want to move nearly everything, but no other state depends
on const state, so this is the easiest one to move first.

For webgl aquarium, this reduces GPU load by about 10%, since for each
fish it does a uniform upload plus draw.. fish frequently are visible in
only a single tile, so this skips the uniform uploads for other tiles.

The additional step of avoiding WFI's when using CP_SET_DRAW_STATE seems
to be work an additional 10% gain for aquarium.

Signed-off-by: Rob Clark <robdclark@gmail.com>
src/gallium/drivers/freedreno/a6xx/fd6_emit.c
src/gallium/drivers/freedreno/a6xx/fd6_emit.h
src/gallium/drivers/freedreno/a6xx/fd6_gmem.c
src/gallium/drivers/freedreno/ir3/ir3_shader.c