VOOZH about

URL: https://lists.freedesktop.org/archives/mesa-dev/2017-April/151548.html

⇱ [Mesa-dev] [RFC PATCH 00/26] ARB_bindless_texture: round one (GLSL)


[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