Mesa (master): tgsi/text: Allow `-|src|` variant of `-(|src|)`.
MichaŠKról
michal at kemper.freedesktop.org
Fri Apr 3 12:59:37 UTC 2009
Module: Mesa
Branch: master
Commit: cc770e0a0cbb2c0ff4327ffb0bf20f52ccc218cc
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cc770e0a0cbb2c0ff4327ffb0bf20f52ccc218cc
Author: Michal Krol <michal at vmware.com>
Date: Fri Apr 3 14:54:20 2009 +0200
tgsi/text: Allow `-|src|` variant of `-(|src|)`.
---
src/gallium/auxiliary/tgsi/tgsi_text.c | 14 +++++++++++---
1 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/src/gallium/auxiliary/tgsi/tgsi_text.c b/src/gallium/auxiliary/tgsi/tgsi_text.c
index fdaee9b..bb1c7dc 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_text.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_text.c
@@ -562,6 +562,7 @@ parse_src_operand(
uint ind_file;
int ind_index;
uint swizzle[4];
+ boolean parsed_ext_negate_paren = FALSE;
boolean parsed_swizzle;
boolean parsed_extswizzle;
@@ -574,10 +575,17 @@ parse_src_operand(
src->SrcRegisterExtMod.Negate = 1;
eat_opt_white( &cur );
ctx->cur = cur;
+ parsed_ext_negate_paren = TRUE;
+ }
+ else if (*cur == '|') {
+ cur++;
+ src->SrcRegisterExtMod.Negate = 1;
+ src->SrcRegisterExtMod.Absolute = 1;
+ eat_opt_white(&cur);
+ ctx->cur = cur;
}
}
-
- if (*ctx->cur == '|') {
+ else if (*ctx->cur == '|') {
ctx->cur++;
eat_opt_white( &ctx->cur );
src->SrcRegisterExtMod.Absolute = 1;
@@ -715,7 +723,7 @@ parse_src_operand(
ctx->cur++;
}
- if (src->SrcRegisterExtMod.Negate) {
+ if (parsed_ext_negate_paren) {
eat_opt_white( &ctx->cur );
if (*ctx->cur != ')') {
report_error( ctx, "Expected `)'" );
More information about the mesa-commit
mailing list