Quellcode durchsuchen

ir_reader: Remove s_list::length() method.

Most code now relies on the pattern matcher rather than this function,
and for the only remaining case, not using this saves an iteration.
tags/android-x86-2.2-r2
Kenneth Graunke vor 15 Jahren
Ursprung
Commit
d798815272
3 geänderte Dateien mit 8 neuen und 18 gelöschten Zeilen
  1. 8
    7
      src/glsl/ir_reader.cpp
  2. 0
    10
      src/glsl/s_expression.cpp
  3. 0
    1
      src/glsl/s_expression.h

+ 8
- 7
src/glsl/ir_reader.cpp Datei anzeigen

@@ -754,13 +754,7 @@ read_constant(_mesa_glsl_parse_state *st, s_list *list)
}

if (type->is_array()) {
const unsigned elements_supplied = values->length();
if (elements_supplied != type->length) {
ir_read_error(st, values, "expected exactly %u array elements, "
"given %u", type->length, elements_supplied);
return NULL;
}

unsigned elements_supplied = 0;
exec_list elements;
foreach_iter(exec_list_iterator, it, values->subexpressions) {
s_expression *expr = (s_expression *) it.get();
@@ -774,6 +768,13 @@ read_constant(_mesa_glsl_parse_state *st, s_list *list)
if (ir_elt == NULL)
return NULL;
elements.push_tail(ir_elt);
elements_supplied++;
}

if (elements_supplied != type->length) {
ir_read_error(st, values, "expected exactly %u array elements, "
"given %u", type->length, elements_supplied);
return NULL;
}
return new(ctx) ir_constant(type, &elements);
}

+ 0
- 10
src/glsl/s_expression.cpp Datei anzeigen

@@ -38,16 +38,6 @@ s_list::s_list()
{
}

unsigned
s_list::length() const
{
unsigned i = 0;
foreach_iter(exec_list_iterator, it, this->subexpressions) {
i++;
}
return i;
}

static s_expression *
read_atom(void *ctx, const char *& src)
{

+ 0
- 1
src/glsl/s_expression.h Datei anzeigen

@@ -139,7 +139,6 @@ public:
s_list();

virtual bool is_list() const { return true; }
unsigned length() const;

void print();


Laden…
Abbrechen
Speichern