mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 07:18:17 +02:00
nir: add 16bit type information to glsl types
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
parent
7e7ee82698
commit
87989339a0
3 changed files with 28 additions and 0 deletions
|
|
@ -87,6 +87,13 @@ enum glsl_base_type {
|
|||
GLSL_TYPE_ERROR
|
||||
};
|
||||
|
||||
static inline bool glsl_base_type_is_16bit(enum glsl_base_type type)
|
||||
{
|
||||
return type == GLSL_TYPE_FLOAT16 ||
|
||||
type == GLSL_TYPE_UINT16 ||
|
||||
type == GLSL_TYPE_INT16;
|
||||
}
|
||||
|
||||
static inline bool glsl_base_type_is_64bit(enum glsl_base_type type)
|
||||
{
|
||||
return type == GLSL_TYPE_DOUBLE ||
|
||||
|
|
@ -551,6 +558,14 @@ public:
|
|||
return glsl_base_type_is_64bit(base_type);
|
||||
}
|
||||
|
||||
/**
|
||||
* Query whether or not a type is 16-bit
|
||||
*/
|
||||
bool is_16bit() const
|
||||
{
|
||||
return glsl_base_type_is_16bit(base_type);
|
||||
}
|
||||
|
||||
/**
|
||||
* Query whether or not a type is a non-array boolean type
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -164,6 +164,12 @@ glsl_get_record_location_offset(const struct glsl_type *type,
|
|||
return type->record_location_offset(length);
|
||||
}
|
||||
|
||||
bool
|
||||
glsl_type_is_16bit(const glsl_type *type)
|
||||
{
|
||||
return type->is_16bit();
|
||||
}
|
||||
|
||||
bool
|
||||
glsl_type_is_64bit(const glsl_type *type)
|
||||
{
|
||||
|
|
@ -473,6 +479,12 @@ glsl_channel_type(const glsl_type *t)
|
|||
return glsl_uint64_t_type();
|
||||
case GLSL_TYPE_INT64:
|
||||
return glsl_int64_t_type();
|
||||
case GLSL_TYPE_FLOAT16:
|
||||
return glsl_float16_t_type();
|
||||
case GLSL_TYPE_UINT16:
|
||||
return glsl_uint16_t_type();
|
||||
case GLSL_TYPE_INT16:
|
||||
return glsl_int16_t_type();
|
||||
default:
|
||||
unreachable("Unhandled base type glsl_channel_type()");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -121,6 +121,7 @@ glsl_get_bit_size(const struct glsl_type *type)
|
|||
return 0;
|
||||
}
|
||||
|
||||
bool glsl_type_is_16bit(const struct glsl_type *type);
|
||||
bool glsl_type_is_64bit(const struct glsl_type *type);
|
||||
bool glsl_type_is_void(const struct glsl_type *type);
|
||||
bool glsl_type_is_error(const struct glsl_type *type);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue