[Mesa-dev] [PATCH 2/3] glsl: Use has_420pack().

Ilia Mirkin imirkin at alum.mit.edu
Mon Dec 7 15:44:50 PST 2015


Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>

On Mon, Dec 7, 2015 at 6:35 PM, Matt Turner <mattst88 at gmail.com> wrote:
> These features would not have been enabled with #version 420 otherwise.
>
> Cc: "11.1" <mesa-stable at lists.freedesktop.org>
> ---
>  src/glsl/ast_function.cpp        | 6 +++---
>  src/glsl/ast_to_hir.cpp          | 4 ++--
>  src/glsl/hir_field_selection.cpp | 3 +--
>  3 files changed, 6 insertions(+), 7 deletions(-)
>
> diff --git a/src/glsl/ast_function.cpp b/src/glsl/ast_function.cpp
> index 466ece6..18e0519 100644
> --- a/src/glsl/ast_function.cpp
> +++ b/src/glsl/ast_function.cpp
> @@ -1737,7 +1737,7 @@ ast_function_expression::handle_method(exec_list *instructions,
>              result = new(ctx) ir_constant(op->type->array_size());
>           }
>        } else if (op->type->is_vector()) {
> -         if (state->ARB_shading_language_420pack_enable) {
> +         if (state->has_420pack()) {
>              /* .length() returns int. */
>              result = new(ctx) ir_constant((int) op->type->vector_elements);
>           } else {
> @@ -1746,7 +1746,7 @@ ast_function_expression::handle_method(exec_list *instructions,
>              goto fail;
>           }
>        } else if (op->type->is_matrix()) {
> -         if (state->ARB_shading_language_420pack_enable) {
> +         if (state->has_420pack()) {
>              /* .length() returns int. */
>              result = new(ctx) ir_constant((int) op->type->matrix_columns);
>           } else {
> @@ -2075,7 +2075,7 @@ ast_aggregate_initializer::hir(exec_list *instructions,
>     }
>     const glsl_type *const constructor_type = this->constructor_type;
>
> -   if (!state->ARB_shading_language_420pack_enable) {
> +   if (!state->has_420pack()) {
>        _mesa_glsl_error(&loc, state, "C-style initialization requires the "
>                         "GL_ARB_shading_language_420pack extension");
>        return ir_rvalue::error_value(ctx);
> diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp
> index 6d7e40f..35a1e13 100644
> --- a/src/glsl/ast_to_hir.cpp
> +++ b/src/glsl/ast_to_hir.cpp
> @@ -3738,7 +3738,7 @@ process_initializer(ir_variable *var, ast_declaration *decl,
>               * expressions. Const-qualified global variables must still be
>               * initialized with constant expressions.
>               */
> -            if (!state->ARB_shading_language_420pack_enable
> +            if (!state->has_420pack()
>                  || state->current_function == NULL) {
>                 _mesa_glsl_error(& initializer_loc, state,
>                                  "initializer of %s variable `%s' must be a "
> @@ -5367,7 +5367,7 @@ ast_jump_statement::hir(exec_list *instructions,
>           if (state->current_function->return_type != ret_type) {
>              YYLTYPE loc = this->get_location();
>
> -            if (state->ARB_shading_language_420pack_enable) {
> +            if (state->has_420pack()) {
>                 if (!apply_implicit_conversion(state->current_function->return_type,
>                                                ret, state)) {
>                    _mesa_glsl_error(& loc, state,
> diff --git a/src/glsl/hir_field_selection.cpp b/src/glsl/hir_field_selection.cpp
> index 337095b..92bb413 100644
> --- a/src/glsl/hir_field_selection.cpp
> +++ b/src/glsl/hir_field_selection.cpp
> @@ -57,8 +57,7 @@ _mesa_ast_field_selection_to_hir(const ast_expression *expr,
>                           expr->primary_expression.identifier);
>        }
>     } else if (op->type->is_vector() ||
> -              (state->ARB_shading_language_420pack_enable &&
> -               op->type->is_scalar())) {
> +              (state->has_420pack() && op->type->is_scalar())) {
>        ir_swizzle *swiz = ir_swizzle::create(op,
>                                             expr->primary_expression.identifier,
>                                             op->type->vector_elements);
> --
> 2.4.9
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list