[PATCH v2 00/17] etnaviv: GC7000 preparation
Wladimir J. van der Laan
laanwj at gmail.com
Sat Nov 18 09:44:23 UTC 2017
This is the entire patch set needed for GC7000 support in Mesa, except for
implementation of texture descriptors. There is a DRM kernel interface issue
to resolve there [1].
I'm sending this early to get some eyes on it, and because it is quite a large
patch-set and will be challenging to keep this rebased on top of master for a
long time - and it doesn't hurt to have this in already because it does some
preparation and modularization.
I've carefully tried to preserve compatibility with all earlier hardware, and
tested on GC2000 and GC3000, other testing is very welcome.
The entire branch on top of current master can be found here:
https://github.com/laanwj/mesa/tree/gc7000_preparation
[1] To be specific, a texture descriptor contains pointers to GPU addresses of
texture LOD level image data, which need to be managed by the kernel driver.
I've currently avoided this issue as I'm using the Vivante kernel driver. If
you want to see etnaviv_texture_desc.c in its current state, it's here:
https://github.com/laanwj/mesa/blob/gc7000/src/gallium/drivers/etnaviv/etnaviv_texture_desc.c
Wladimir J. van der Laan (17):
etnaviv: Const-correctness etnaviv_emit.h
etnaviv: Put HALTI level in specs
etnaviv: Emit SCALE for vertex attributes
etnaviv: Use only DRAW_INSTANCED on GC3000+
etnaviv: GC7000: Support BLT as recipient for etna_stall
etnaviv: GC7000: Move etna_coalesce to emit header file
etnaviv: GC7000: Factor out RS blit functionality
etnaviv: GC7000: BLT engine blitting support
etnaviv: GC7000: No RS align when using BLT
etnaviv: GC7000: Update context reset for ..HALTI5
etnaviv: GC7000: Update screen specs for HALTI5
etnaviv: GC7000: State changes for HALTI3..5
etnaviv: GC7000: Make point sprites work on HALTI5
etnaviv: GC7000: Track dirty sampler views
etnaviv: GC7000: Factor out incompatible texture handling logic
etnaviv: GC7000: Move active_samplers_bits to texture
etnaviv: GC7000: Factor out state based texture functionality
src/gallium/drivers/etnaviv/Makefile.sources | 5 +
src/gallium/drivers/etnaviv/etnaviv_blt.c | 562 +++++++++++++++++
src/gallium/drivers/etnaviv/etnaviv_blt.h | 100 ++++
src/gallium/drivers/etnaviv/etnaviv_clear_blit.c | 564 +----------------
src/gallium/drivers/etnaviv/etnaviv_clear_blit.h | 6 +
src/gallium/drivers/etnaviv/etnaviv_compiler.c | 21 +-
src/gallium/drivers/etnaviv/etnaviv_compiler.h | 1 +
src/gallium/drivers/etnaviv/etnaviv_context.c | 60 +-
src/gallium/drivers/etnaviv/etnaviv_context.h | 7 +
src/gallium/drivers/etnaviv/etnaviv_emit.c | 538 +++++++----------
src/gallium/drivers/etnaviv/etnaviv_emit.h | 109 +++-
src/gallium/drivers/etnaviv/etnaviv_internal.h | 9 +
src/gallium/drivers/etnaviv/etnaviv_resource.c | 16 +-
src/gallium/drivers/etnaviv/etnaviv_rs.c | 665 ++++++++++++++++++++-
src/gallium/drivers/etnaviv/etnaviv_rs.h | 4 +-
src/gallium/drivers/etnaviv/etnaviv_screen.c | 42 +-
src/gallium/drivers/etnaviv/etnaviv_shader.c | 8 +
src/gallium/drivers/etnaviv/etnaviv_state.c | 36 +-
src/gallium/drivers/etnaviv/etnaviv_surface.c | 41 +-
src/gallium/drivers/etnaviv/etnaviv_texture.c | 205 ++-----
src/gallium/drivers/etnaviv/etnaviv_texture.h | 54 +-
.../drivers/etnaviv/etnaviv_texture_state.c | 329 ++++++++++
.../drivers/etnaviv/etnaviv_texture_state.h | 82 +++
src/gallium/drivers/etnaviv/etnaviv_transfer.c | 42 +-
src/gallium/drivers/etnaviv/etnaviv_zsa.c | 3 +-
src/gallium/drivers/etnaviv/meson.build | 5 +
26 files changed, 2344 insertions(+), 1170 deletions(-)
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_blt.c
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_blt.h
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_texture_state.c
create mode 100644 src/gallium/drivers/etnaviv/etnaviv_texture_state.h
--
2.7.4
More information about the etnaviv
mailing list