[PATCH 0/3] etnaviv: Support large shaders on GC3000

Wladimir J. van der Laan laanwj at gmail.com
Mon Jul 24 08:28:14 UTC 2017


This patch adds support for large shaders on GC3000. For example the "terrain"
glmark benchmark with a large fragment shader will work after this.

If the GPU supports ICACHE, shaders larger than the available state area will
be uploaded to a bo of their own and instructed to be loaded from memory on
demand. Small shaders will be uploaded in the usual way. This mimics the
behavior of the blob.

On GPUs that don't support ICACHE, this patch should make no difference.

Wladimir J. van der Laan (3):
  etnaviv: Update headers from rnndb
  etnaviv: Unified uniforms support
  etnaviv: Implement ICACHE

 src/gallium/drivers/etnaviv/etnaviv_compiler.c |  3 +-
 src/gallium/drivers/etnaviv/etnaviv_compiler.h |  5 ++
 src/gallium/drivers/etnaviv/etnaviv_emit.c     | 71 +++++++++++++++++++-------
 src/gallium/drivers/etnaviv/etnaviv_internal.h | 10 ++++
 src/gallium/drivers/etnaviv/etnaviv_screen.c   | 19 ++++++-
 src/gallium/drivers/etnaviv/etnaviv_shader.c   | 45 +++++++++++++++-
 src/gallium/drivers/etnaviv/hw/state_3d.xml.h  | 14 +++--
 7 files changed, 140 insertions(+), 27 deletions(-)

-- 
2.7.4



More information about the etnaviv mailing list