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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev