Hi, Because ARB_bindless_texture [1] is a massive feature which requires a bunch of changes in Mesa, I splitted the whole series in order to help reviewers. The first one adds all GLSL bits to the compiler.
All ARB_bindless_texture compiler and linker piglit tests pass with this series. The global passrate (including API and execution tests) is currently at 97% (65/67). No regressions with a full piglit run (including compiler tests). The whole series which implements ARB_bindless_texture for RadeonSI seems to work fine. It has been tested with some Feral games (Dirt Rally). Some parts still need to be improved though, but one thing at a time! Please review, Thanks! [1] https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_bindless_texture.txt Samuel Pitoiset (26): mesa: add ARB_bindless_texture to the extensions list glsl: add ARB_bindless_texture enable glsl: introduce new base types for bindless samplers/images glsl: declare new bindless sampler/image types glsl: add new glsl_type helpers for bindless sampler/image types glsl: add new 'bindless' parameter to get_{sampler,image}_instance() glsl: process bindless/bound layout qualifiers glsl: select bindless sampler/image types on the fly glsl: add texture functions for bindless sampler types glsl: fix up an assertion in has_lod() helper glsl: fix up an assertion in ir_texture::set_sampler() glsl: add image functions for bindless image types glsl: apply image qualifiers to bindless images glsl: do not make bindless image read-only variables glsl: allow input memory qualifiers for images glsl: allow image qualifiers inside structures glsl: allow bindless samplers/images as varying variables glsl: allow bindless samplers/images as vertex shader inputs glsl: reject bindless samplers/images frag inputs without 'flat' glsl: use fully_specified_type rule with ast_function_expression glsl: add ARB_bindless_texture operations glsl: add ARB_bindless_texture conversions glsl: lower bindless sampler/image packed varyings glsl: link bindless layout qualifiers glsl: encode (and decode) bindless samplers/images glsl: fix up an assertion in glsl_type::sampler_index() src/compiler/builtin_type_macros.h | 75 + src/compiler/glsl/ast.h | 20 +- src/compiler/glsl/ast_function.cpp | 101 +- src/compiler/glsl/ast_to_hir.cpp | 225 ++- src/compiler/glsl/ast_type.cpp | 66 + src/compiler/glsl/builtin_functions.cpp | 1810 ++++++++++++-------- src/compiler/glsl/glsl_parser.yy | 51 +- src/compiler/glsl/glsl_parser_extras.cpp | 12 + src/compiler/glsl/glsl_parser_extras.h | 17 + src/compiler/glsl/ir.cpp | 27 +- src/compiler/glsl/ir.h | 6 + src/compiler/glsl/ir_clone.cpp | 2 + src/compiler/glsl/ir_expression_operation.py | 6 + src/compiler/glsl/ir_print_visitor.cpp | 5 +- src/compiler/glsl/ir_validate.cpp | 20 + src/compiler/glsl/link_uniform_initializers.cpp | 2 + src/compiler/glsl/linker.cpp | 44 + src/compiler/glsl/lower_packed_varyings.cpp | 16 + src/compiler/glsl/shader_cache.cpp | 10 +- src/compiler/glsl/standalone_scaffolding.cpp | 1 + src/compiler/glsl_types.cpp | 259 ++- src/compiler/glsl_types.h | 47 +- src/compiler/nir_types.cpp | 5 +- src/intel/compiler/brw_fs.cpp | 2 + src/intel/compiler/brw_shader.cpp | 2 + src/intel/compiler/brw_vec4_visitor.cpp | 2 + .../dri/i965/brw_fs_channel_expressions.cpp | 4 + src/mesa/main/extensions_table.h | 1 + src/mesa/main/mtypes.h | 11 + src/mesa/program/ir_to_mesa.cpp | 8 + src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 5 + src/mesa/state_tracker/st_glsl_types.cpp | 2 + 32 files changed, 2020 insertions(+), 844 deletions(-) -- 2.12.2 _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
