glsl: make use of glsl_type::is_record()
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:
@@ -46,8 +46,7 @@ _mesa_ast_field_selection_to_hir(const ast_expression *expr,
|
||||
YYLTYPE loc = expr->get_location();
|
||||
if (op->type->is_error()) {
|
||||
/* silently propagate the error */
|
||||
} else if (op->type->base_type == GLSL_TYPE_STRUCT
|
||||
|| op->type->is_interface()) {
|
||||
} else if (op->type->is_record() || op->type->is_interface()) {
|
||||
result = new(ctx) ir_dereference_record(op,
|
||||
expr->primary_expression.identifier);
|
||||
|
||||
|
@@ -1237,7 +1237,7 @@ ir_constant::has_value(const ir_constant *c) const
|
||||
return true;
|
||||
}
|
||||
|
||||
if (this->type->base_type == GLSL_TYPE_STRUCT) {
|
||||
if (this->type->is_record()) {
|
||||
const exec_node *a_node = this->components.get_head_raw();
|
||||
const exec_node *b_node = c->components.get_head_raw();
|
||||
|
||||
|
@@ -149,8 +149,7 @@ print_type(FILE *f, const glsl_type *t)
|
||||
fprintf(f, "(array ");
|
||||
print_type(f, t->fields.array);
|
||||
fprintf(f, " %u)", t->length);
|
||||
} else if ((t->base_type == GLSL_TYPE_STRUCT)
|
||||
&& !is_gl_identifier(t->name)) {
|
||||
} else if (t->is_record() && !is_gl_identifier(t->name)) {
|
||||
fprintf(f, "%s@%p", t->name, (void *) t);
|
||||
} else {
|
||||
fprintf(f, "%s", t->name);
|
||||
|
@@ -1903,7 +1903,7 @@ ir_to_mesa_visitor::visit(ir_constant *ir)
|
||||
* get lucky, copy propagation will eliminate the extra moves.
|
||||
*/
|
||||
|
||||
if (ir->type->base_type == GLSL_TYPE_STRUCT) {
|
||||
if (ir->type->is_record()) {
|
||||
src_reg temp_base = get_temp(ir->type);
|
||||
dst_reg temp = dst_reg(temp_base);
|
||||
|
||||
|
@@ -3091,7 +3091,7 @@ glsl_to_tgsi_visitor::emit_block_mov(ir_assignment *ir, const struct glsl_type *
|
||||
st_dst_reg *l, st_src_reg *r,
|
||||
st_src_reg *cond, bool cond_swap)
|
||||
{
|
||||
if (type->base_type == GLSL_TYPE_STRUCT) {
|
||||
if (type->is_record()) {
|
||||
for (unsigned int i = 0; i < type->length; i++) {
|
||||
emit_block_mov(ir, type->fields.structure[i].type, l, r,
|
||||
cond, cond_swap);
|
||||
@@ -3264,7 +3264,7 @@ glsl_to_tgsi_visitor::visit(ir_constant *ir)
|
||||
* aggregate constant and move each constant value into it. If we
|
||||
* get lucky, copy propagation will eliminate the extra moves.
|
||||
*/
|
||||
if (ir->type->base_type == GLSL_TYPE_STRUCT) {
|
||||
if (ir->type->is_record()) {
|
||||
st_src_reg temp_base = get_temp(ir->type);
|
||||
st_dst_reg temp = st_dst_reg(temp_base);
|
||||
|
||||
|
Reference in New Issue
Block a user