mesa/src/compiler
Caio Oliveira a0877c132c glsl: Fix warning related to tg4_offsets in release mode
Compiler can't know that array_size() of the offsets parameter in
textureGatherOffsets is (at most) 4,  so use a MIN2() to make the limit
visible.  Just adding an assert() gets ignored in Release builds.

This fixes the following warning in Release compilation:

```
  ../src/compiler/glsl/glsl_to_nir.cpp: In member function ‘virtual void {anonymous}::nir_visitor::visit(ir_texture*)’:
  ../src/compiler/glsl/glsl_to_nir.cpp:2453:41: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
   2453 |                instr->tg4_offsets[i][j] = val;
        |                ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
  In file included from ../src/compiler/glsl/glsl_to_nir.h:31,
                   from ../src/compiler/glsl/glsl_to_nir.cpp:29:
  ../src/compiler/nir/nir.h:2470:11: note: at offset 8 into destination object ‘nir_tex_instr::tg4_offsets’ of size 8
   2470 |    int8_t tg4_offsets[4][2];
        |           ^~~~~~~~~~~
  ../src/compiler/glsl/glsl_to_nir.cpp:2453:41: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
   2453 |                instr->tg4_offsets[i][j] = val;
        |                ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
  ../src/compiler/nir/nir.h:2470:11: note: at offset 9 into destination object ‘nir_tex_instr::tg4_offsets’ of size 8
   2470 |    int8_t tg4_offsets[4][2];
        |           ^~~~~~~~~~~
```

This is from: `gcc (GCC) 14.1.1 20240522 (Red Hat 14.1.1-4)`.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29508>
2024-06-21 17:37:46 -07:00
..
clc clc: remove check for null pointer that cannot be true in llvm_mod_to_spirv 2024-06-21 00:41:28 +00:00
glsl glsl: Fix warning related to tg4_offsets in release mode 2024-06-21 17:37:46 -07:00
isaspec isaspec: Improve 'meta' handling 2024-04-26 03:35:13 +00:00
nir nir: use unsigned types when performing bitshifting 2024-06-21 21:07:05 +00:00
spirv vtn: ensure TCS control barriers have a large enough memory scope 2024-06-21 16:24:08 +00:00
builtin_types.py compiler/types: Use Python to generate code for builtin types 2023-09-16 15:17:01 +00:00
builtin_types_c.py util,vulkan,mesa,compiler: Generate source files with utf8 encoding from mako template 2023-12-07 12:41:07 +00:00
builtin_types_h.py util,vulkan,mesa,compiler: Generate source files with utf8 encoding from mako template 2023-12-07 12:41:07 +00:00
glsl_types.c glsl_types: derive ht 2024-03-12 19:41:50 +00:00
glsl_types.h compiler/types: Fix glsl_dvec*_type() helpers 2024-03-04 15:22:32 +00:00
meson.build meson: do not pull in clc for clover 2024-02-21 20:53:36 +00:00
shader_enums.c nir: add SYSTEM_VALUE_BASE_WORKGROUP_ID 2024-04-24 20:18:48 +00:00
shader_enums.h compiler: add ACCESS_IN_BOUNDS_AGX 2024-05-14 04:57:25 +00:00
shader_info.h nir/shader_info: remove uses_demote 2024-06-17 19:37:16 +00:00