freedreno/a6xx: Let the GPU track streamout offsets
authorKristian H. Kristensen <hoegsberg@google.com>
Thu, 5 Sep 2019 22:07:55 +0000 (15:07 -0700)
committerKristian H. Kristensen <hoegsberg@google.com>
Fri, 6 Sep 2019 16:53:28 +0000 (09:53 -0700)
commit1acf8d235494625e27fe0213e1a0771bba2368c3
treed3724b58b250af2cc301ef63ae69a45f0c2a3065
parentde1c89fd9361b807859e312524dfcec8b71c1656
freedreno/a6xx: Let the GPU track streamout offsets

The GPU writes out streamout offsets as it goes to the FLUSH_BASE
pointer.  We use that value with CP_MEM_TO_REG when appending to the
stream so that we don't have to track the offsets with the CPU in the
driver.  This ensures that streamout continues to work once we enable
geometry and tessellation shader stages that add geometry.

Reviewed-by: Rob Clark <robdclark@gmail.com>
src/gallium/drivers/freedreno/a6xx/fd6_context.h
src/gallium/drivers/freedreno/a6xx/fd6_emit.c
src/gallium/drivers/freedreno/freedreno_context.h
src/gallium/drivers/freedreno/freedreno_state.c