mesa/src/compiler
Timothy Arceri 92c5460253 glsl: mark structs containing images as bindless
Structs are not allowed to contain an image in regular glsl. The only time
they are intended to be allowed to be declared in a struct is when
they are bindless.

Unfortunately the bindless spec does not meantion this behaviour
explicitly so there is no spec quote to reference but you can see in
the original commit to allow them in mesa that spec clarification was
provided 48b7882200

The spec also states that certain uses are implicitly bindless as per
the following spec quote:

   "When used as shader inputs, outputs, uniform block members,
   or temporaries, the value of the sampler is a 64-bit unsigned
   integer handle and never refers to a texture image unit."

Given images are not allowed in regular glsl for the above types
similair to being forbidden in structs, we can also assume
declarations in structs are implicitly bindless.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24269>
2023-08-09 01:27:58 +00:00
..
clc nir: Remove nir_index_local_regs and callers 2023-08-03 22:40:27 +00:00
glsl glsl: mark structs containing images as bindless 2023-08-09 01:27:58 +00:00
isaspec isaspec: Add initial decoding support 2023-07-28 18:41:58 +00:00
nir nir/print: always group variables by type when printing 2023-08-08 13:51:34 +00:00
spirv nir: Remove nir_alu_dest::write_mask 2023-08-03 22:40:30 +00:00
builtin_type_macros.h glsl: add texture subpass variants 2022-11-10 10:21:34 +00:00
glsl_types.cpp nir/gl: Move glsl_type::sampler_target() into a helper in its one caller 2023-08-08 01:50:05 +00:00
glsl_types.h nir/gl: Move glsl_type::sampler_target() into a helper in its one caller 2023-08-08 01:50:05 +00:00
meson.build compiler: Move spirv into a module of its own 2023-06-20 16:18:08 +00:00
nir_gl_types.h mesa: #include "util/glheader.h" instead GL/gl.h in shared code 2022-11-03 16:07:31 +00:00
nir_types.cpp nir/gl: Move glsl_type::sampler_target() into a helper in its one caller 2023-08-08 01:50:05 +00:00
nir_types.h compiler/types: Be consistent when naming array element/size 2023-06-15 03:43:46 +00:00
shader_enums.c compiler: Add mesa_scope_name() function 2023-06-19 23:29:26 +00:00
shader_enums.h Revert "mesa, compiler: Move gl_texture_index to glsl_types.h" 2023-08-04 13:14:35 +00:00
shader_info.h vtn: more CL subgroups 2023-07-07 12:27:35 +00:00