mesa/src/broadcom/vulkan
Iago Toral Quiroga 7fcc518473 v3dv: allow limiting amount of tile state allocated
With multilayered framebuffer we want to allocate enough tile state for
all layers involved, so te binner can handle layered rendering where
a geometry shader is used to redirect primitives to specific layers by
writing to gl_Layer.

However, we may also have layered framebuffers in cases where layered
rendering won't be used. Typically this will happen for meta copy/clear
operations, where we setup multilayered framebuffers but then we just
load and/or store the tile buffer without ever rendering a primitive,
let alone use a geometry shader to do layered rendering. In these cases
we can reduce the amount of tile state allocated to a sigle layer.

This patch allows us to specify if we should allocate tile state for all
layers when we start a new frame. We will take advantage of this in
later patches targetting the meta copy/clear code paths.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11923>
2021-07-16 09:36:37 +00:00
..
.dir-locals.el
.editorconfig
meson.build v3dv: refactor meta copy/clear code 2021-07-15 12:16:55 +02:00
v3dv_bo.c v3dv: use a bitfield to implement a quick check for job BO tracking 2021-04-15 06:09:34 +00:00
v3dv_bo.h v3dv: use a bitfield to implement a quick check for job BO tracking 2021-04-15 06:09:34 +00:00
v3dv_cl.c v3dv/build: meson infrastructure for multi-hw-version support 2021-06-22 11:34:06 +02:00
v3dv_cl.h v3dv: remove gen-dependant includes from v3dv_private 2021-06-22 11:34:06 +02:00
v3dv_cmd_buffer.c v3dv: allow limiting amount of tile state allocated 2021-07-16 09:36:37 +00:00
v3dv_debug.c v3dv/debug: add v3dv_debug 2020-10-13 21:21:25 +00:00
v3dv_debug.h v3dv/debug: add v3dv_print_v3d_key 2020-10-13 21:21:33 +00:00
v3dv_descriptor_set.c v3dv: don't use cl_packet_length for prepacked data 2021-06-22 11:34:06 +02:00
v3dv_device.c v3dv: expose geometry shaders 2021-07-12 09:25:28 +02:00
v3dv_formats.c v3dv: split v3dv_format hw version dependant code to a new source file 2021-06-22 11:34:06 +02:00
v3dv_image.c v3dv: move several hw version dependant code to their own (v3dvx) source file 2021-06-22 11:34:06 +02:00
v3dv_limits.h v3dv: don't use cl_packet_length for prepacked data 2021-06-22 11:34:06 +02:00
v3dv_meta_clear.c v3dv: allow limiting amount of tile state allocated 2021-07-16 09:36:37 +00:00
v3dv_meta_common.h v3dv: refactor meta copy/clear code 2021-07-15 12:16:55 +02:00
v3dv_meta_copy.c v3dv: allow limiting amount of tile state allocated 2021-07-16 09:36:37 +00:00
v3dv_pass.c v3dv: split v3dv_format hw version dependant code to a new source file 2021-06-22 11:34:06 +02:00
v3dv_pipeline.c broadcom/compiler: implement gl_PrimitiveID in FS without a GS 2021-07-14 12:05:56 +00:00
v3dv_pipeline_cache.c v3dv: add support for geometry shaders to pipelines 2021-07-12 08:35:55 +02:00
v3dv_private.h v3dv: allow limiting amount of tile state allocated 2021-07-16 09:36:37 +00:00
v3dv_query.c v3dv: use VKAPI_ATTR and VKAPI_CALL. 2021-05-31 17:08:27 +00:00
v3dv_queue.c v3dv: account for dst offset of copy query results operations 2021-07-07 10:41:06 +00:00
v3dv_uniforms.c v3dv: expose geometry shaders 2021-07-12 09:25:28 +02:00
v3dv_util.c v3dv: move error string definition to debug path 2020-12-01 12:10:11 +00:00
v3dv_wsi.c v3dv: use VKAPI_ATTR and VKAPI_CALL. 2021-05-31 17:08:27 +00:00
v3dv_wsi_display.c v3dv: implement VK_KHR_get_display_properties2 2021-06-10 11:01:28 +00:00
v3dv_wsi_wayland.c v3dv: use VKAPI_ATTR and VKAPI_CALL. 2021-05-31 17:08:27 +00:00
v3dv_wsi_x11.c v3dv: use VKAPI_ATTR and VKAPI_CALL. 2021-05-31 17:08:27 +00:00
v3dvx_cmd_buffer.c broadcom/compiler: implement gl_PrimitiveID in FS without a GS 2021-07-14 12:05:56 +00:00
v3dvx_descriptor_set.c v3dv: split v3dv_descriptor hw version dependant to a new source file. 2021-06-22 11:34:06 +02:00
v3dvx_device.c v3dv: don't use cl_packet_length for prepacked data 2021-06-22 11:34:06 +02:00
v3dvx_formats.c v3dv/format: expose properly that some formats are not filterable 2021-07-09 11:37:01 +00:00
v3dvx_image.c v3dv: split v3dv_image hw version dependant code to a new source file 2021-06-22 11:34:06 +02:00
v3dvx_meta_common.c v3dv: allow limiting amount of tile state allocated 2021-07-16 09:36:37 +00:00
v3dvx_pipeline.c v3dv: add support for geometry shaders to pipelines 2021-07-12 08:35:55 +02:00
v3dvx_private.h v3dv: improve TLB layered image clears 2021-07-16 09:36:37 +00:00
v3dvx_queue.c v3dv: allow limiting amount of tile state allocated 2021-07-16 09:36:37 +00:00
vk_format_info.h anv: Move vk_format helpers to common code 2021-03-10 18:17:31 +00:00