summaryrefslogtreecommitdiffstats
path: root/src/mesa/shader
diff options
context:
space:
mode:
authorIan Romanick <[email protected]>2009-08-31 16:57:49 -0700
committerIan Romanick <[email protected]>2009-08-31 16:57:49 -0700
commitdc8ec05ace3d2a0284dbe47ec2d88168b1efb517 (patch)
tree3be06626a37dd5330e34cb2d34171144bd5e0b7a /src/mesa/shader
parentefff7aa980e78dc3ee1782308f0c9f3861c9992a (diff)
NV fp: Parse 'OPTION NV_fragment_program' in ARB assembly shaders
Diffstat (limited to 'src/mesa/shader')
-rw-r--r--src/mesa/shader/program_parse_extra.c11
-rw-r--r--src/mesa/shader/program_parser.h1
2 files changed, 12 insertions, 0 deletions
diff --git a/src/mesa/shader/program_parse_extra.c b/src/mesa/shader/program_parse_extra.c
index 8e4be606f16..79e80c54d71 100644
--- a/src/mesa/shader/program_parse_extra.c
+++ b/src/mesa/shader/program_parse_extra.c
@@ -102,6 +102,17 @@ _mesa_ARBfp_parse_option(struct asm_parser_state *state, const char *option)
return 1;
}
}
+ } else if (strncmp(option, "NV_fragment_program", 19) == 0) {
+ option += 19;
+
+ /* Other NV_fragment_program strings may be supported later.
+ */
+ if (option[0] == '\0') {
+ if (state->ctx->Extensions.NV_fragment_program_option) {
+ state->option.NV_fragment = 1;
+ return 1;
+ }
+ }
} else if (strncmp(option, "MESA_", 5) == 0) {
option += 5;
diff --git a/src/mesa/shader/program_parser.h b/src/mesa/shader/program_parser.h
index fa47d84565a..be32a1bed15 100644
--- a/src/mesa/shader/program_parser.h
+++ b/src/mesa/shader/program_parser.h
@@ -202,6 +202,7 @@ struct asm_parser_state {
unsigned Shadow:1;
unsigned TexRect:1;
unsigned TexArray:1;
+ unsigned NV_fragment:1;
} option;
struct {