r600/sb: use different stacks for tracking lds and queue usage.
authorDave Airlie <airlied@redhat.com>
Wed, 10 Jan 2018 05:49:16 +0000 (05:49 +0000)
committerDave Airlie <airlied@redhat.com>
Thu, 18 Jan 2018 03:38:09 +0000 (03:38 +0000)
commit3bb2b2cc451651247307ceb6f08ab06909437984
tree3efb712fa26a5f36fa65a2a59b7e51a162a1ebb9
parent8cfec333c08a9518735d261cc9d6a96d64276f1c
r600/sb: use different stacks for tracking lds and queue usage.

The normal ssa renumbering isn't sufficient for LDS queue access,
this uses two stacks, one for the lds queue, and one for the
lds r/w ordering.

The LDS oq values are incremented in their use in a linear
fashion.
The LDS rw values are incremented in their definitions and used
in the next lds operation to ensure reordering doesn't occur.

Acked-By: Roland Scheidegger <sroland@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/gallium/drivers/r600/sb/sb_pass.h
src/gallium/drivers/r600/sb/sb_ssa_builder.cpp