This little series expands the GLSL type system in preparation for SPIR-V. The first few patches are to glsl_types and add a bare sampler type, function types, and an image type helper. The rest flesh out the nir_types C wrappers so that we can do almost anything from C that we can from C++.
Jason Ekstrand (9): glsl/types: Rename sampler_type to sampled_type glsl/types: Add a bare "sampler" type glsl/types: Add support for function types glsl/types: Add a helper for getting image types glsl/types: Expose glsl_struct_field and glsl_function_param to C nir/types: Add helpers for function types nir/types: Add helpers for working with sampler and image types nir/types: Add a few more glsl_type_is_ functions nir/types: Add more type constructor functions src/compiler/builtin_type_macros.h | 1 + src/compiler/glsl/ast_to_hir.cpp | 5 +- src/compiler/glsl/builtin_functions.cpp | 4 +- src/compiler/glsl/ir.cpp | 2 +- src/compiler/glsl/ir_clone.cpp | 1 + src/compiler/glsl/link_uniform_initializers.cpp | 1 + src/compiler/glsl_types.cpp | 204 +++++++++++++++++++++++- src/compiler/glsl_types.h | 38 ++++- src/compiler/nir_types.cpp | 144 +++++++++++++++++ src/compiler/nir_types.h | 38 +++++ src/mesa/drivers/dri/i965/brw_fs.cpp | 1 + src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 2 +- src/mesa/drivers/dri/i965/brw_shader.cpp | 1 + src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 1 + src/mesa/program/ir_to_mesa.cpp | 2 + src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 1 + 16 files changed, 428 insertions(+), 18 deletions(-) -- 2.5.0.400.gff86faf _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev