glsl: make use glsl_type::is_atomic_uint()

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
This commit is contained in:
Samuel Pitoiset 2017-04-21 10:16:58 +02:00
parent 993a05f0eb
commit 053912382e
3 changed files with 4 additions and 6 deletions

View file

@ -2633,8 +2633,7 @@ select_gles_precision(unsigned qual_precision,
* declare an atomic type with a different precision or to specify the
* default precision for an atomic type to be lowp or mediump."
*/
if (type->base_type == GLSL_TYPE_ATOMIC_UINT &&
precision != ast_precision_high) {
if (type->is_atomic_uint() && precision != ast_precision_high) {
_mesa_glsl_error(loc, state,
"atomic_uint can only have highp precision qualifier");
}
@ -4735,7 +4734,7 @@ ast_declarator_list::hir(exec_list *instructions,
validate_array_dimensions(decl_type, state, &loc);
}
if (decl_type->base_type == GLSL_TYPE_ATOMIC_UINT) {
if (decl_type->is_atomic_uint()) {
/* Empty atomic counter declarations are allowed and useful
* to set the default offset qualifier.
*/

View file

@ -3702,8 +3702,7 @@ create_shader_variable(struct gl_shader_program *shProg,
* qualifier, except for vertex shader inputs and fragment shader
* outputs."
*/
if (in->type->base_type == GLSL_TYPE_ATOMIC_UINT ||
is_gl_identifier(in->name) ||
if (in->type->is_atomic_uint() || is_gl_identifier(in->name) ||
!(in->data.explicit_location || use_implicit_location)) {
out->location = -1;
} else {

View file

@ -681,7 +681,7 @@ struct glsl_type {
*/
unsigned atomic_size() const
{
if (base_type == GLSL_TYPE_ATOMIC_UINT)
if (is_atomic_uint())
return ATOMIC_COUNTER_SIZE;
else if (is_array())
return length * fields.array->atomic_size();