mesa/src/broadcom
Alejandro Piñeiro 9cbc3ab239 broadcom/compiler: update how we compute return_words_of_texture_data on non-ssa
For the non-ssa case, we were trying to use reg->num_components. But
this is not the same that nir_ssa_def_components_read. It is the
number of components of the destination register. And in the 16bit
case, even if nir_lower_tex packs the outcome, it doesn't update the
number of components, as nir_tex_instr_dest_size would still return
4. And nir validate would check that those values are the same.

So this change focuses on the last part of this comment at
nir_lower_tex:

 * Note that we don't change the destination num_components, because
 * nir_tex_instr_dest_size() will still return 4.  The driver is just
 * expected to not store the other channels, given that nothing at the
 * NIR level will read them.

We just limit how many channels we would use for the f16 case.

It is also worth to note, based on the CTS and different applications
we test, that this is a corner case.

This was detected when we experimented to enable nir_opt_gcm for v3d,
that lead to raise an assertion slightly below with some shaderdb
tests, but technically it could happen without it.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17185>
2022-10-26 12:29:30 +00:00
..
ci vc4: mark piglit copypixels-(draw-)sync as flaky 2022-10-25 16:24:59 +00:00
cle broadcom: fix dependencies in static_library() calls 2022-09-14 09:38:28 +00:00
clif v3d/clif: add support for dumping GS shader state 2021-10-13 21:23:10 +00:00
common broadcom/compiler: increase V3D_MAX_BUFFE_RANGE to 2^30 bytes 2022-09-22 11:07:26 +00:00
compiler broadcom/compiler: update how we compute return_words_of_texture_data on non-ssa 2022-10-26 12:29:30 +00:00
drm-shim Use proper types for meson objects 2022-04-18 13:03:08 +03:00
qpu broadcom/compiler: detect unifa write from signal 2022-09-20 06:56:28 +00:00
simulator broadcom/simulator: add a helper to get the amount of free heap memory 2022-09-09 11:14:03 +00:00
vulkan v3d: replace all TODO around for FIXME 2022-10-24 08:33:44 +00:00
.editorconfig broadcom: add editorconfig 2017-07-25 14:44:52 -07:00
meson.build meson: drop duplicate lib in lib name 2022-08-22 08:35:41 +00:00