iris: Track bound and writable SSBOs
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 17 Apr 2019 05:54:40 +0000 (22:54 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Mon, 22 Apr 2019 18:31:14 +0000 (11:31 -0700)
commit15660544597e97db7a4ccc8ee109bb0d0f2b86e8
treef25c4a8a493f222a15d7bb3206ddac2a33f2a2e7
parente9c5e13344c1e798204028a94546b9565dd01c8e
iris: Track bound and writable SSBOs

Marek recently extended pipe->set_shader_buffers() to take an extra
writable_bitmask parameter, indicating which SSBOs are writable (some
may be bound read-only).  We can use this to decide whether to set
EXEC_OBJECT_WRITE when pinning.  Avoiding the write flag can save us
some cross-batch flushing if the SSBO is used for reading in both the
render and compute engines.
src/gallium/drivers/iris/iris_context.h
src/gallium/drivers/iris/iris_state.c