[PATCH 0/3] etnaviv: Add sampler TS support

Wladimir J. van der Laan laanwj at gmail.com
Tue Nov 7 16:43:26 UTC 2017


Sampler TS is an hardware optimization that can be used when rendering
to textures. After rendering to a resource with TS enabled, the
texture unit can use this to bypass lookups to empty tiles. This also
means a resolve-in-place can be avoided to flush the TS.

This patch series adds support for sampler TS on hardware that supports
this. It also contains an optimization when not using sampler TS, as
resolve-in-place will now be skipped if a resource has no (valid) TS.

For example the 'shadow' test in glmark2 increases in performance with:

before: [shadow] <default>: FPS: 130 FrameTime: 7.692 ms
after:  [shadow] <default>: FPS: 244 FrameTime: 4.098 ms

Wladimir J. van der Laan (3):
  etnaviv: rnndb update
  etnaviv: Add TS_SAMPLER formats to etnaviv_format
  etnaviv: Add sampler TS support

 src/gallium/drivers/etnaviv/etnaviv_emit.c      | 26 +++++++
 src/gallium/drivers/etnaviv/etnaviv_format.c    | 19 +++++
 src/gallium/drivers/etnaviv/etnaviv_format.h    |  3 +
 src/gallium/drivers/etnaviv/etnaviv_texture.c   | 92 +++++++++++++++++++++++--
 src/gallium/drivers/etnaviv/etnaviv_texture.h   |  5 ++
 src/gallium/drivers/etnaviv/hw/common.xml.h     |  2 +-
 src/gallium/drivers/etnaviv/hw/common_3d.xml.h  |  2 +-
 src/gallium/drivers/etnaviv/hw/state.xml.h      |  4 +-
 src/gallium/drivers/etnaviv/hw/state_3d.xml.h   | 14 +++-
 src/gallium/drivers/etnaviv/hw/state_blt.xml.h  |  4 +-
 src/gallium/drivers/etnaviv/hw/texdesc_3d.xml.h |  3 +-
 11 files changed, 158 insertions(+), 16 deletions(-)

-- 
2.7.4



More information about the etnaviv mailing list