mesa/src/broadcom/vulkan
Alejandro Piñeiro f5133f6bce v3dv/pipeline: track descriptor maps per stage, not per pipeline
One of the conclusions of our recent clean up on the limits was that
the pipeline limits needed to be the per-stage limits multiplied by
the number of stages.

But until now we only have a set of descriptor maps for the full
pipeline. That would work if we could set the same limit per pipeline
that per stage, but that is not the case. So if, for example, we have
the fragment shader using V3D_MAX_TEXTURE_SAMPLERS textures, and then
the vertex shader, with a different descriptor set, using one texture,
we would get an index greater that V3D_MAX_TEXTURE_SAMPLERS. We assert
that index as an error on the vulkan backend, but fwiw, it would be
also asserted on the compiler.

With this commit we track and allocate a descriptor map per stage,
although we reuse the vertex shader descriptor map for the vertex bin.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10272>
2021-04-19 23:10:35 +00:00
..
.dir-locals.el
.editorconfig
meson.build vulkan: Track dependencies of Python imports 2021-04-08 14:15:54 +00:00
v3d_tiling.c
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: optimize a few cases of BO job additions 2021-04-15 06:09:34 +00:00
v3dv_cl.h
v3dv_cmd_buffer.c v3dv: better tracking of dirty push constant state 2021-04-16 12:29:11 +00:00
v3dv_debug.c
v3dv_debug.h
v3dv_descriptor_set.c vulkan: track number of bindings instead of max binding for CreateDescriptorSetLayout 2021-04-05 20:17:53 +00:00
v3dv_device.c v3dv: fix descriptor set limits 2021-04-15 11:26:04 +00:00
v3dv_extensions.py
v3dv_extensions_gen.py
v3dv_formats.c v3dv/formats: expose support for BC1-3 compressed formats 2021-02-12 22:04:13 +00:00
v3dv_icd.py
v3dv_image.c
v3dv_limits.h v3dv: fix descriptor set limits 2021-04-15 11:26:04 +00:00
v3dv_meta_clear.c v3dv: avoid dereferencing null value 2021-04-16 11:12:31 +00:00
v3dv_meta_copy.c v3dv: avoid some maybe-uninitialized warnings 2021-03-17 10:05:07 +00:00
v3dv_pass.c
v3dv_pipeline.c v3dv/pipeline: track descriptor maps per stage, not per pipeline 2021-04-19 23:10:35 +00:00
v3dv_pipeline_cache.c v3dv/pipeline: track descriptor maps per stage, not per pipeline 2021-04-19 23:10:35 +00:00
v3dv_private.h v3dv/pipeline: track descriptor maps per stage, not per pipeline 2021-04-19 23:10:35 +00:00
v3dv_query.c v3dv: don't use a dedicated BO for each occlusion query 2021-04-15 12:45:07 +00:00
v3dv_queue.c v3dv: don't use a dedicated BO for each occlusion query 2021-04-15 12:45:07 +00:00
v3dv_uniforms.c v3dv/pipeline: track descriptor maps per stage, not per pipeline 2021-04-19 23:10:35 +00:00
v3dv_util.c
v3dv_wsi.c
v3dv_wsi_display.c
v3dv_wsi_wayland.c
v3dv_wsi_x11.c
vk_format_info.h anv: Move vk_format helpers to common code 2021-03-10 18:17:31 +00:00