glsl: make use of glsl_type::is_array()

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:25:42 +02:00
parent 053912382e
commit 0c8898dc34
5 changed files with 5 additions and 5 deletions

View File

@@ -4712,7 +4712,7 @@ ast_declarator_list::hir(exec_list *instructions,
"invalid type `%s' in empty declaration",
type_name);
} else {
if (decl_type->base_type == GLSL_TYPE_ARRAY) {
if (decl_type->is_array()) {
/* From Section 13.22 (Array Declarations) of the GLSL ES 3.2
* spec:
*

View File

@@ -145,7 +145,7 @@ ir_print_visitor::unique_name(ir_variable *var)
static void
print_type(FILE *f, const glsl_type *t)
{
if (t->base_type == GLSL_TYPE_ARRAY) {
if (t->is_array()) {
fprintf(f, "(array ");
print_type(f, t->fields.array);
fprintf(f, " %u)", t->length);

View File

@@ -1678,7 +1678,7 @@ varying_matches::compute_packing_order(const ir_variable *var)
{
const glsl_type *element_type = var->type;
while (element_type->base_type == GLSL_TYPE_ARRAY) {
while (element_type->is_array()) {
element_type = element_type->fields.array;
}

View File

@@ -214,7 +214,7 @@ verify_data(gl_constant_value *storage, unsigned storage_array_size,
ir_constant *val, unsigned red_zone_size,
unsigned int boolean_true)
{
if (val->type->base_type == GLSL_TYPE_ARRAY) {
if (val->type->is_array()) {
const glsl_type *const element_type = val->array_elements[0]->type;
for (unsigned i = 0; i < storage_array_size; i++) {

View File

@@ -4246,7 +4246,7 @@ glsl_to_tgsi_visitor::visit(ir_texture *ir)
component = this->result;
if (ir->offset) {
ir->offset->accept(this);
if (ir->offset->type->base_type == GLSL_TYPE_ARRAY) {
if (ir->offset->type->is_array()) {
const glsl_type *elt_type = ir->offset->type->fields.array;
for (i = 0; i < ir->offset->type->length; i++) {
offset[i] = this->result;