mesa/src/gallium/drivers/etnaviv
Lucas Stach 2de7d6d1d8 etnaviv: remove copy of resource level in etna_surface
Keeping a full copy of the resource level around in the surface is
confusing and this confusion has caused real bugs already. Get rid
of the copy by retrieving most of the information directly from the
etna_resource_level pointed at from the surface. Only the precomputed
offsets into the target and TS BOs need to be kept in the surface.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19814>
2022-11-25 21:30:40 +00:00
..
hw etnaviv: update headers from rnndb 2022-11-16 12:53:28 +00:00
tests
etnaviv_asm.c etnaviv: use feature bit for one const src per instuction limitation 2022-04-27 09:10:27 +00:00
etnaviv_asm.h etnaviv: use feature bit for one const src per instuction limitation 2022-04-27 09:10:27 +00:00
etnaviv_blend.c
etnaviv_blend.h
etnaviv_blt.c etnaviv: remove copy of resource level in etna_surface 2022-11-25 21:30:40 +00:00
etnaviv_blt.h etnaviv: blt: Add color resolve support 2022-11-02 18:58:09 +00:00
etnaviv_clear_blit.c etnaviv: mark texture caches as dirty when blitting into a sampler resource 2022-11-22 13:55:29 +00:00
etnaviv_clear_blit.h
etnaviv_compiler.c etnaviv: nir: lower extract byte/word 2022-11-22 18:39:12 +00:00
etnaviv_compiler.h etnaviv: Move nir_shader_compiler_options to compiler 2022-08-02 19:10:55 +00:00
etnaviv_compiler_cmdline.c etnaviv: pass shader key by reference 2022-10-07 08:36:31 +00:00
etnaviv_compiler_nir.c etnaviv: Support negative float inline immediates 2022-11-22 18:39:12 +00:00
etnaviv_compiler_nir.h etnaviv: Rename etna_emit_tex() args 2022-07-12 21:28:11 +00:00
etnaviv_compiler_nir_emit.c etnaviv: Implement TXD 2022-07-12 21:28:11 +00:00
etnaviv_compiler_nir_liveness.c
etnaviv_compiler_nir_ra.c
etnaviv_context.c etnaviv: properly reference flush_resources 2022-10-26 17:03:05 +00:00
etnaviv_context.h util: Move src/gallium/include/pipe/p_format.h to src/util/format/u_formats.h 2022-11-19 03:38:19 +00:00
etnaviv_debug.h etnaviv: Hide MSAA support behind debug flag 2022-11-23 21:12:11 +00:00
etnaviv_disasm.c
etnaviv_disasm.h
etnaviv_disk_cache.c
etnaviv_disk_cache.h
etnaviv_emit.c etnaviv: don't always emit PE_DEPTH_CONFIG on shader changes 2022-11-15 09:51:56 +00:00
etnaviv_emit.h
etnaviv_etc2.c
etnaviv_etc2.h util: Move src/gallium/include/pipe/p_format.h to src/util/format/u_formats.h 2022-11-19 03:38:19 +00:00
etnaviv_fence.c
etnaviv_fence.h
etnaviv_format.c etnaviv: fill alpha channel for DXT1_RGB textures 2022-09-01 09:02:49 +00:00
etnaviv_format.h
etnaviv_internal.h etnaviv: add tile size helper 2022-04-27 09:10:27 +00:00
etnaviv_nir.c etnaviv: Implement TXD 2022-07-12 21:28:11 +00:00
etnaviv_nir.h
etnaviv_nir_lower_ubo_to_uniform.c
etnaviv_perfmon.c
etnaviv_perfmon.h
etnaviv_query.c
etnaviv_query.h
etnaviv_query_acc.c etnaviv: add function to get resource status 2022-07-03 17:41:55 +00:00
etnaviv_query_acc.h
etnaviv_query_acc_occlusion.c
etnaviv_query_acc_perfmon.c
etnaviv_query_sw.c
etnaviv_query_sw.h
etnaviv_rasterizer.c
etnaviv_rasterizer.h
etnaviv_resource.c etnaviv: always use RS align when GPU has TEXTURE_HALIGN feature 2022-11-25 19:06:28 +00:00
etnaviv_resource.h etnaviv: add support for sharing the TS buffer 2022-11-03 20:24:41 +00:00
etnaviv_rs.c etnaviv: remove copy of resource level in etna_surface 2022-11-25 21:30:40 +00:00
etnaviv_rs.h etnaviv: add support for big tile RS states 2022-04-27 09:10:27 +00:00
etnaviv_screen.c etnaviv: Hide MSAA support behind debug flag 2022-11-23 21:12:11 +00:00
etnaviv_screen.h util: Remove os/os_thread.h and replace #include "os/os_thread.h" with #include "util/u_thread.h" 2022-11-08 05:21:42 +00:00
etnaviv_shader.c etnaviv: fix shader register control with MSAA 2022-11-15 09:07:40 +00:00
etnaviv_shader.h etnaviv: pass shader key by reference 2022-10-07 08:36:31 +00:00
etnaviv_state.c etnaviv: remove copy of resource level in etna_surface 2022-11-25 21:30:40 +00:00
etnaviv_state.h
etnaviv_surface.c etnaviv: remove copy of resource level in etna_surface 2022-11-25 21:30:40 +00:00
etnaviv_surface.h etnaviv: remove copy of resource level in etna_surface 2022-11-25 21:30:40 +00:00
etnaviv_texture.c etnaviv: remove use of flush_seqno as trigger for texture cache invalidate 2022-11-22 13:55:29 +00:00
etnaviv_texture.h etnaviv: add texture descriptor suballocator 2022-07-13 15:00:33 +00:00
etnaviv_texture_desc.c etnaviv: texture-desc: drop superfluous condition 2022-09-01 09:02:49 +00:00
etnaviv_texture_desc.h
etnaviv_texture_state.c
etnaviv_texture_state.h
etnaviv_tiling.c
etnaviv_tiling.h
etnaviv_transfer.c etnaviv: fix tile status interaction with write mappings 2022-11-22 10:01:56 +00:00
etnaviv_transfer.h
etnaviv_translate.h etnaviv: fix ZS clear value computation 2022-11-25 21:23:01 +00:00
etnaviv_uniforms.c
etnaviv_uniforms.h
etnaviv_util.h etnaviv: fix ZS clear value computation 2022-11-25 21:23:01 +00:00
etnaviv_zsa.c
etnaviv_zsa.h
meson.build
README

Notes for the etnaviv gallium driver
------------------------------------

There are two ways how this driver might get used:

- application opens kms device (kmscube, weston, ..)
- X via xf86-video-armada

For the kms device case we provide a renderonly based driver like
imx where all the magic for buffer import and export between kms
and renderonly GPU is handled automaticly.

For X/xf86-video-armada we need to provide etnaviv_dri.so.