From e6146e6f14d5e2f9080ce033814fb1d14a175e70 Mon Sep 17 00:00:00 2001 From: Francisco Jerez Date: Thu, 4 Dec 2014 10:40:56 +0200 Subject: [PATCH] glsl: Forbid calling the constructor of any opaque type. The spec doesn't define any opaque type constructors. Reviewed-by: Ian Romanick --- src/glsl/ast_function.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/glsl/ast_function.cpp b/src/glsl/ast_function.cpp index cbff9d8b452..151b0825ea9 100644 --- a/src/glsl/ast_function.cpp +++ b/src/glsl/ast_function.cpp @@ -1524,10 +1524,10 @@ ast_function_expression::hir(exec_list *instructions, } - /* Constructors for samplers are illegal. + /* Constructors for opaque types are illegal. */ - if (constructor_type->is_sampler()) { - _mesa_glsl_error(& loc, state, "cannot construct sampler type `%s'", + if (constructor_type->contains_opaque()) { + _mesa_glsl_error(& loc, state, "cannot construct opaque type `%s'", constructor_type->name); return ir_rvalue::error_value(ctx); } -- 2.30.2