From 08a052966fff77b1d3c04f0b75fb1199988ba1fd Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Fri, 24 Feb 2017 14:40:21 +0100 Subject: [PATCH] glsl: use is_sampler() anywhere it's possible Signed-off-by: Samuel Pitoiset Reviewed-by: Timothy Arceri --- src/compiler/glsl/ast_to_hir.cpp | 22 +++++++++---------- src/compiler/glsl/ir.cpp | 4 ++-- .../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 8424b5bb3f2..af5e76dd3ac 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 28511b5b81c..f80bd811ac0 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 7e5b80d5c7e..8911c3de62a 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 7cbb21112f2..4b7472eb840 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 010a7b24b1b..4d06313565f 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 ) && -- 2.30.2