[Mesa-dev] [RFC PATCH 00/26] ARB_bindless_texture: round one (GLSL)
Samuel Pitoiset
samuel.pitoiset at gmail.com
Tue Apr 11 16:48:11 UTC 2017
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
More information about the mesa-dev
mailing list