[Mesa-dev] [PATCH 2/2] glsl: use is_sampler() anywhere it's possible

Timothy Arceri tarceri at itsqueeze.com
Fri Feb 24 22:15:50 UTC 2017


Series is:

Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>

On 25/02/17 00:40, Samuel Pitoiset wrote:
> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> ---
>  src/compiler/glsl/ast_to_hir.cpp                | 22 +++++++++++-----------
>  src/compiler/glsl/ir.cpp                        |  4 ++--
>  src/compiler/glsl/link_uniform_initializers.cpp |  3 +--
>  src/compiler/glsl_types.cpp                     |  2 +-
>  src/mesa/main/uniform_query.cpp                 |  2 +-
>  5 files changed, 16 insertions(+), 17 deletions(-)
>
> diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp
> index c0629feb58..f033d7df97 100644
> --- a/src/compiler/glsl/ast_to_hir.cpp
> +++ b/src/compiler/glsl/ast_to_hir.cpp
> @@ -2407,13 +2407,13 @@ get_type_name_for_precision_qualifier(const glsl_type *type)
>     case GLSL_TYPE_SAMPLER: {
>        const unsigned type_idx =
>           type->sampler_array + 2 * type->sampler_shadow;
> -      const unsigned offset = type->base_type == GLSL_TYPE_SAMPLER ? 0 : 4;
> +      const unsigned offset = type->is_sampler() ? 0 : 4;
>        assert(type_idx < 4);
>        switch (type->sampled_type) {
>        case GLSL_TYPE_FLOAT:
>           switch (type->sampler_dimensionality) {
>           case GLSL_SAMPLER_DIM_1D: {
> -            assert(type->base_type == GLSL_TYPE_SAMPLER);
> +            assert(type->is_sampler());
>              static const char *const names[4] = {
>                "sampler1D", "sampler1DArray",
>                "sampler1DShadow", "sampler1DArrayShadow"
> @@ -2444,14 +2444,14 @@ get_type_name_for_precision_qualifier(const glsl_type *type)
>              return names[offset + type_idx];
>           }
>           case GLSL_SAMPLER_DIM_MS: {
> -            assert(type->base_type == GLSL_TYPE_SAMPLER);
> +            assert(type->is_sampler());
>              static const char *const names[4] = {
>                "sampler2DMS", "sampler2DMSArray", NULL, NULL
>              };
>              return names[type_idx];
>           }
>           case GLSL_SAMPLER_DIM_RECT: {
> -            assert(type->base_type == GLSL_TYPE_SAMPLER);
> +            assert(type->is_sampler());
>              static const char *const names[4] = {
>                "samplerRect", NULL, "samplerRectShadow", NULL
>              };
> @@ -2465,7 +2465,7 @@ get_type_name_for_precision_qualifier(const glsl_type *type)
>              return names[offset + type_idx];
>           }
>           case GLSL_SAMPLER_DIM_EXTERNAL: {
> -            assert(type->base_type == GLSL_TYPE_SAMPLER);
> +            assert(type->is_sampler());
>              static const char *const names[4] = {
>                "samplerExternalOES", NULL, NULL, NULL
>              };
> @@ -2478,7 +2478,7 @@ get_type_name_for_precision_qualifier(const glsl_type *type)
>        case GLSL_TYPE_INT:
>           switch (type->sampler_dimensionality) {
>           case GLSL_SAMPLER_DIM_1D: {
> -            assert(type->base_type == GLSL_TYPE_SAMPLER);
> +            assert(type->is_sampler());
>              static const char *const names[4] = {
>                "isampler1D", "isampler1DArray", NULL, NULL
>              };
> @@ -2506,14 +2506,14 @@ get_type_name_for_precision_qualifier(const glsl_type *type)
>              return names[offset + type_idx];
>           }
>           case GLSL_SAMPLER_DIM_MS: {
> -            assert(type->base_type == GLSL_TYPE_SAMPLER);
> +            assert(type->is_sampler());
>              static const char *const names[4] = {
>                "isampler2DMS", "isampler2DMSArray", NULL, NULL
>              };
>              return names[type_idx];
>           }
>           case GLSL_SAMPLER_DIM_RECT: {
> -            assert(type->base_type == GLSL_TYPE_SAMPLER);
> +            assert(type->is_sampler());
>              static const char *const names[4] = {
>                "isamplerRect", NULL, "isamplerRectShadow", NULL
>              };
> @@ -2533,7 +2533,7 @@ get_type_name_for_precision_qualifier(const glsl_type *type)
>        case GLSL_TYPE_UINT:
>           switch (type->sampler_dimensionality) {
>           case GLSL_SAMPLER_DIM_1D: {
> -            assert(type->base_type == GLSL_TYPE_SAMPLER);
> +            assert(type->is_sampler());
>              static const char *const names[4] = {
>                "usampler1D", "usampler1DArray", NULL, NULL
>              };
> @@ -2561,14 +2561,14 @@ get_type_name_for_precision_qualifier(const glsl_type *type)
>              return names[offset + type_idx];
>           }
>           case GLSL_SAMPLER_DIM_MS: {
> -            assert(type->base_type == GLSL_TYPE_SAMPLER);
> +            assert(type->is_sampler());
>              static const char *const names[4] = {
>                "usampler2DMS", "usampler2DMSArray", NULL, NULL
>              };
>              return names[type_idx];
>           }
>           case GLSL_SAMPLER_DIM_RECT: {
> -            assert(type->base_type == GLSL_TYPE_SAMPLER);
> +            assert(type->is_sampler());
>              static const char *const names[4] = {
>                "usamplerRect", NULL, "usamplerRectShadow", NULL
>              };
> diff --git a/src/compiler/glsl/ir.cpp b/src/compiler/glsl/ir.cpp
> index 28511b5b81..f80bd811ac 100644
> --- a/src/compiler/glsl/ir.cpp
> +++ b/src/compiler/glsl/ir.cpp
> @@ -1501,7 +1501,7 @@ ir_texture::set_sampler(ir_dereference *sampler, const glsl_type *type)
>        assert(type->base_type == GLSL_TYPE_FLOAT);
>     } else if (this->op == ir_samples_identical) {
>        assert(type == glsl_type::bool_type);
> -      assert(sampler->type->base_type == GLSL_TYPE_SAMPLER);
> +      assert(sampler->type->is_sampler());
>        assert(sampler->type->sampler_dimensionality == GLSL_SAMPLER_DIM_MS);
>     } else {
>        assert(sampler->type->sampled_type == (int) type->base_type);
> @@ -1738,7 +1738,7 @@ ir_variable::ir_variable(const struct glsl_type *type, const char *name,
>     this->data.fb_fetch_output = false;
>
>     if (type != NULL) {
> -      if (type->base_type == GLSL_TYPE_SAMPLER)
> +      if (type->is_sampler())
>           this->data.read_only = true;
>
>        if (type->is_interface())
> diff --git a/src/compiler/glsl/link_uniform_initializers.cpp b/src/compiler/glsl/link_uniform_initializers.cpp
> index 7e5b80d5c7..8911c3de62 100644
> --- a/src/compiler/glsl/link_uniform_initializers.cpp
> +++ b/src/compiler/glsl/link_uniform_initializers.cpp
> @@ -132,8 +132,7 @@ set_opaque_binding(void *mem_ctx, gl_shader_program *prog,
>          gl_linked_shader *shader = prog->_LinkedShaders[sh];
>
>           if (shader) {
> -            if (storage->type->base_type == GLSL_TYPE_SAMPLER &&
> -                storage->opaque[sh].active) {
> +            if (storage->type->is_sampler() && storage->opaque[sh].active) {
>                 for (unsigned i = 0; i < elements; i++) {
>                    const unsigned index = storage->opaque[sh].index + i;
>                    shader->Program->SamplerUnits[index] =
> diff --git a/src/compiler/glsl_types.cpp b/src/compiler/glsl_types.cpp
> index 7cbb21112f..4b7472eb84 100644
> --- a/src/compiler/glsl_types.cpp
> +++ b/src/compiler/glsl_types.cpp
> @@ -95,7 +95,7 @@ glsl_type::glsl_type(GLenum gl_type, glsl_base_type base_type,
>
>     memset(& fields, 0, sizeof(fields));
>
> -   if (base_type == GLSL_TYPE_SAMPLER) {
> +   if (is_sampler()) {
>        /* Samplers take no storage whatsoever. */
>        matrix_columns = vector_elements = 0;
>     } else {
> diff --git a/src/mesa/main/uniform_query.cpp b/src/mesa/main/uniform_query.cpp
> index 010a7b24b1..4d06313565 100644
> --- a/src/mesa/main/uniform_query.cpp
> +++ b/src/mesa/main/uniform_query.cpp
> @@ -355,7 +355,7 @@ _mesa_get_uniform(struct gl_context *ctx, GLuint program, GLint location,
>  	      &&
>  	      (uni->type->base_type == GLSL_TYPE_INT
>  	       || uni->type->base_type == GLSL_TYPE_UINT
> -               || uni->type->base_type == GLSL_TYPE_SAMPLER
> +               || uni->type->is_sampler()
>                 || uni->type->is_image()))
>            || ((returnType == GLSL_TYPE_UINT64 ||
>                 returnType == GLSL_TYPE_INT64 ) &&
>


More information about the mesa-dev mailing list