Module: Mesa Branch: main Commit: 993e1fd9b7e5c153b436fe2a8106fcce0f922b97 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=993e1fd9b7e5c153b436fe2a8106fcce0f922b97
Author: Caio Oliveira <[email protected]> Date: Fri Sep 29 00:36:13 2023 -0700 compiler/types: Flip wrapping of basic "get type" functions Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25470> --- src/compiler/glsl_types.h | 76 +++++++++++++++++------- src/compiler/nir_types.cpp | 140 --------------------------------------------- 2 files changed, 55 insertions(+), 161 deletions(-) diff --git a/src/compiler/glsl_types.h b/src/compiler/glsl_types.h index 1ca58719934..ec35048df38 100644 --- a/src/compiler/glsl_types.h +++ b/src/compiler/glsl_types.h @@ -1318,27 +1318,61 @@ int glsl_get_field_index(const struct glsl_type *t, const char *name); int glsl_get_struct_field_offset(const struct glsl_type *t, unsigned index); const char *glsl_get_struct_elem_name(const struct glsl_type *t, unsigned index); -const struct glsl_type *glsl_void_type(void); -const struct glsl_type *glsl_float_type(void); -const struct glsl_type *glsl_float16_t_type(void); -const struct glsl_type *glsl_double_type(void); -const struct glsl_type *glsl_vec4_type(void); -const struct glsl_type *glsl_uvec4_type(void); -const struct glsl_type *glsl_ivec4_type(void); -const struct glsl_type *glsl_int_type(void); -const struct glsl_type *glsl_uint_type(void); -const struct glsl_type *glsl_int64_t_type(void); -const struct glsl_type *glsl_uint64_t_type(void); -const struct glsl_type *glsl_int16_t_type(void); -const struct glsl_type *glsl_uint16_t_type(void); -const struct glsl_type *glsl_int8_t_type(void); -const struct glsl_type *glsl_uint8_t_type(void); -const struct glsl_type *glsl_bool_type(void); -const struct glsl_type *glsl_atomic_uint_type(void); - -const struct glsl_type *glsl_floatN_t_type(unsigned bit_size); -const struct glsl_type *glsl_intN_t_type(unsigned bit_size); -const struct glsl_type *glsl_uintN_t_type(unsigned bit_size); +static inline const struct glsl_type *glsl_void_type(void) { return &glsl_type_builtin_void; } +static inline const struct glsl_type *glsl_float_type(void) { return &glsl_type_builtin_float; } +static inline const struct glsl_type *glsl_float16_t_type(void) { return &glsl_type_builtin_float16_t; } +static inline const struct glsl_type *glsl_double_type(void) { return &glsl_type_builtin_double; } +static inline const struct glsl_type *glsl_vec4_type(void) { return &glsl_type_builtin_vec4; } +static inline const struct glsl_type *glsl_uvec4_type(void) { return &glsl_type_builtin_uvec4; } +static inline const struct glsl_type *glsl_ivec4_type(void) { return &glsl_type_builtin_ivec4; } +static inline const struct glsl_type *glsl_int_type(void) { return &glsl_type_builtin_int; } +static inline const struct glsl_type *glsl_uint_type(void) { return &glsl_type_builtin_uint; } +static inline const struct glsl_type *glsl_int64_t_type(void) { return &glsl_type_builtin_int64_t; } +static inline const struct glsl_type *glsl_uint64_t_type(void) { return &glsl_type_builtin_uint64_t; } +static inline const struct glsl_type *glsl_int16_t_type(void) { return &glsl_type_builtin_int16_t; } +static inline const struct glsl_type *glsl_uint16_t_type(void) { return &glsl_type_builtin_uint16_t; } +static inline const struct glsl_type *glsl_int8_t_type(void) { return &glsl_type_builtin_int8_t; } +static inline const struct glsl_type *glsl_uint8_t_type(void) { return &glsl_type_builtin_uint8_t; } +static inline const struct glsl_type *glsl_bool_type(void) { return &glsl_type_builtin_bool; } +static inline const struct glsl_type *glsl_atomic_uint_type(void) { return &glsl_type_builtin_atomic_uint; } + +static inline const struct glsl_type * +glsl_floatN_t_type(unsigned bit_size) +{ + switch (bit_size) { + case 16: return &glsl_type_builtin_float16_t; + case 32: return &glsl_type_builtin_float; + case 64: return &glsl_type_builtin_double; + default: + unreachable("Unsupported bit size"); + } +} + +static inline const struct glsl_type * +glsl_intN_t_type(unsigned bit_size) +{ + switch (bit_size) { + case 8: return &glsl_type_builtin_int8_t; + case 16: return &glsl_type_builtin_int16_t; + case 32: return &glsl_type_builtin_int; + case 64: return &glsl_type_builtin_int64_t; + default: + unreachable("Unsupported bit size"); + } +} + +static inline const struct glsl_type * +glsl_uintN_t_type(unsigned bit_size) +{ + switch (bit_size) { + case 8: return &glsl_type_builtin_uint8_t; + case 16: return &glsl_type_builtin_uint16_t; + case 32: return &glsl_type_builtin_uint; + case 64: return &glsl_type_builtin_uint64_t; + default: + unreachable("Unsupported bit size"); + } +} const struct glsl_type *glsl_vec_type(unsigned components); const struct glsl_type *glsl_f16vec_type(unsigned components); diff --git a/src/compiler/nir_types.cpp b/src/compiler/nir_types.cpp index 8062238fd3e..e694c3e0038 100644 --- a/src/compiler/nir_types.cpp +++ b/src/compiler/nir_types.cpp @@ -271,140 +271,6 @@ glsl_record_compare(const struct glsl_type *a, const struct glsl_type *b, return a->record_compare(b, match_name, match_locations, match_precision); } -const struct glsl_type * -glsl_void_type(void) -{ - return glsl_type::void_type; -} - -const struct glsl_type * -glsl_float_type(void) -{ - return glsl_type::float_type; -} - -const struct glsl_type * -glsl_double_type(void) -{ - return glsl_type::double_type; -} - -const struct glsl_type * -glsl_float16_t_type(void) -{ - return glsl_type::float16_t_type; -} - -const struct glsl_type * -glsl_floatN_t_type(unsigned bit_size) -{ - switch (bit_size) { - case 16: return glsl_type::float16_t_type; - case 32: return glsl_type::float_type; - case 64: return glsl_type::double_type; - default: - unreachable("Unsupported bit size"); - } -} - -const struct glsl_type * -glsl_vec4_type(void) -{ - return glsl_type::vec4_type; -} - -const struct glsl_type * -glsl_uvec4_type(void) -{ - return glsl_type::uvec4_type; -} - -const struct glsl_type * -glsl_ivec4_type(void) -{ - return glsl_type::ivec4_type; -} - -const struct glsl_type * -glsl_int_type(void) -{ - return glsl_type::int_type; -} - -const struct glsl_type * -glsl_uint_type(void) -{ - return glsl_type::uint_type; -} - -const struct glsl_type * -glsl_int64_t_type(void) -{ - return glsl_type::int64_t_type; -} - -const struct glsl_type * -glsl_uint64_t_type(void) -{ - return glsl_type::uint64_t_type; -} - -const struct glsl_type * -glsl_int16_t_type(void) -{ - return glsl_type::int16_t_type; -} - -const struct glsl_type * -glsl_uint16_t_type(void) -{ - return glsl_type::uint16_t_type; -} - -const struct glsl_type * -glsl_int8_t_type(void) -{ - return glsl_type::int8_t_type; -} - -const struct glsl_type * -glsl_uint8_t_type(void) -{ - return glsl_type::uint8_t_type; -} - -const struct glsl_type * -glsl_intN_t_type(unsigned bit_size) -{ - switch (bit_size) { - case 8: return glsl_type::int8_t_type; - case 16: return glsl_type::int16_t_type; - case 32: return glsl_type::int_type; - case 64: return glsl_type::int64_t_type; - default: - unreachable("Unsupported bit size"); - } -} - -const struct glsl_type * -glsl_uintN_t_type(unsigned bit_size) -{ - switch (bit_size) { - case 8: return glsl_type::uint8_t_type; - case 16: return glsl_type::uint16_t_type; - case 32: return glsl_type::uint_type; - case 64: return glsl_type::uint64_t_type; - default: - unreachable("Unsupported bit size"); - } -} - -const struct glsl_type * -glsl_bool_type(void) -{ - return glsl_type::bool_type; -} - const struct glsl_type * glsl_scalar_type(enum glsl_base_type base_type) { @@ -729,12 +595,6 @@ glsl_get_vec4_size_align_bytes(const struct glsl_type *type, } } -const struct glsl_type * -glsl_atomic_uint_type(void) -{ - return glsl_type::atomic_uint_type; -} - unsigned glsl_atomic_size(const struct glsl_type *type) {
