Skip to content

Commit

Permalink
Fixed some AST operations to be integer-only.
Browse files Browse the repository at this point in the history
  • Loading branch information
icculus committed Nov 22, 2010
1 parent 5fc59ff commit 0be4964
Showing 1 changed file with 10 additions and 3 deletions.
13 changes: 10 additions & 3 deletions mojoshader_compiler.c
Expand Up @@ -1504,18 +1504,25 @@ datatype = "!!! FIXME";

case MOJOSHADER_AST_OP_MULTIPLY:
case MOJOSHADER_AST_OP_DIVIDE:
case MOJOSHADER_AST_OP_MODULO:
case MOJOSHADER_AST_OP_ADD:
case MOJOSHADER_AST_OP_SUBTRACT:
case MOJOSHADER_AST_OP_LSHIFT:
case MOJOSHADER_AST_OP_RSHIFT:
datatype = type_check_ast(ctx, ast->binary.left);
datatype2 = type_check_ast(ctx, ast->binary.right);
require_numeric_datatype(ctx, datatype);
require_numeric_datatype(ctx, datatype2);
return add_type_coercion(ctx, &ast->binary.left, datatype,
&ast->binary.right, datatype2);

case MOJOSHADER_AST_OP_LSHIFT:
case MOJOSHADER_AST_OP_RSHIFT:
case MOJOSHADER_AST_OP_MODULO:
datatype = type_check_ast(ctx, ast->binary.left);
datatype2 = type_check_ast(ctx, ast->binary.right);
require_integer_datatype(ctx, datatype);
require_integer_datatype(ctx, datatype2);
return add_type_coercion(ctx, &ast->binary.left, datatype,
&ast->binary.right, datatype2);

case MOJOSHADER_AST_OP_LESSTHAN:
case MOJOSHADER_AST_OP_GREATERTHAN:
case MOJOSHADER_AST_OP_LESSTHANOREQUAL:
Expand Down

0 comments on commit 0be4964

Please sign in to comment.