mesa/src/broadcom
Caio Oliveira fd0a7efb5a spirv, nir: Delay calculation of shared_size when using explicit layout
Move the calculation to nir_lower_vars_to_explicit_types().  This
consolidates the check of shader_info::shared_memory_explicit_layout
in a single place instead of in all drivers.

This is motivated by SPV_KHR_untyped_pointers.  Before that extension
we had essentially two modes for shared memory variables

- No layout decorations in the SPIR-V, and both internal layout and
  driver location was _given by the driver_.

- Explicitly laid out, i.e. they are blocks, and decorated with Aliased.
  Because they all alias, we could assign them driver location directly
  to the start of the shared memory.

With the untyped pointers extension, there's a third option, to be added
by a later commit

- Explicitly laid out, i.e. they are blocks, and NOT decorated
  with Aliased.  Driver location is _given by the driver_.  Blocks
  with and without Aliased can be mixed.

The driver location of multiple blocks that don't alias depend on
alignment that is driver-specific, which we can more easily do from
the nir_lower_vars_to_explicit_types() that already has access to
a function to obtain such value.

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> (hk)
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> (v3dv)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> (anv/hasvk)
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> (panvk)
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> (radv)
Reviewed-by: Rob Clark <robdclark@gmail.com> (tu)
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34139>
2025-04-17 19:13:17 +00:00
..
ci ci/piglit: Use structured tagging for Piglit 2025-04-17 09:22:39 +00:00
cle broadcom/cle: assert attribute has a value 2025-04-04 15:55:13 +00:00
clif broadcom: only support v42 and v71 2023-11-02 11:59:08 +01:00
common v3d: Move v3d_X(..) to src/broadcom/common 2024-12-02 14:13:24 +00:00
compiler broadcom/compiler: initialize register 2025-04-04 15:55:13 +00:00
drm-shim build: pass licensing information in SPDX form 2024-06-29 12:42:49 -07:00
ds broadcom: Add perfetto data source 2024-12-13 12:29:11 +00:00
perfcntrs broadcom: Add perfcount library 2024-12-02 14:13:24 +00:00
qpu broadcom: add missing opcodes for fmov on mul alu for V3D 7.x 2024-10-03 09:02:07 +00:00
simulator broadcom/simulator: Fix Indirect CSD jobs for V3D 7.1.6+ 2025-04-14 12:13:30 +00:00
vulkan spirv, nir: Delay calculation of shared_size when using explicit layout 2025-04-17 19:13:17 +00:00
.editorconfig
meson.build broadcom: Add perfetto data source 2024-12-13 12:29:11 +00:00