Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Note the member index in struct deref, so we don't have to calculate …
…it again.
  • Loading branch information
icculus committed Mar 15, 2011
1 parent 5f66f45 commit 0547b4d
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 0 deletions.
1 change: 1 addition & 0 deletions mojoshader.h
Expand Up @@ -1288,6 +1288,7 @@ typedef struct MOJOSHADER_astExpressionDerefStruct
MOJOSHADER_astExpression *identifier;
const char *member;
int isswizzle; /* Always 1 or 0. Never set by parseAst()! */
int member_index; /* Never set by parseAst()! */
} MOJOSHADER_astExpressionDerefStruct;

typedef struct MOJOSHADER_astExpressionCallFunction
Expand Down
2 changes: 2 additions & 0 deletions mojoshader_compiler.c
Expand Up @@ -677,6 +677,7 @@ static MOJOSHADER_astExpression *new_deref_struct_expr(Context *ctx,
retval->identifier = identifier;
retval->member = member; // cached; don't copy string.
retval->isswizzle = 0; // may change during semantic analysis.
retval->member_index = 0; // set during semantic analysis.
return (MOJOSHADER_astExpression *) retval;
} // new_deref_struct_expr

Expand Down Expand Up @@ -2659,6 +2660,7 @@ static const MOJOSHADER_astDataType *type_check_ast(Context *ctx, void *_ast)
if (strcmp(mbrs[i].identifier, member) == 0)
{
ast->derefstruct.datatype = mbrs[i].datatype;
ast->derefstruct.member_index = i;
break;
} // if
} // for
Expand Down

0 comments on commit 0547b4d

Please sign in to comment.