diff options
author | Kenneth Graunke <kenneth@whitecape.org> | 2010-04-07 14:38:03 -0700 |
---|---|---|
committer | Ian Romanick <ian.d.romanick@intel.com> | 2010-04-28 18:14:53 -0700 |
commit | 34350be2cdb0cb769657d5ce82bc37d906eb3eb5 (patch) | |
tree | 66620b003703ebdba2ed3f78de78977670709175 /ir_reader.cpp | |
parent | 1bfe1c3fdde39235ccbd8fc3da84a1603e919bc3 (diff) |
Add stub ir_reader and new 'i' mode for reading IR rather than GLSL.
Diffstat (limited to 'ir_reader.cpp')
-rw-r--r-- | ir_reader.cpp | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/ir_reader.cpp b/ir_reader.cpp new file mode 100644 index 0000000000..d6f3f3c117 --- /dev/null +++ b/ir_reader.cpp @@ -0,0 +1,47 @@ +/* + * Copyright © 2010 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ +#include <cstdio> +#include <cstdarg> +#include "ir_reader.h" +#include "glsl_parser_extras.h" +#include "glsl_types.h" +#include "s_expression.h" + +void +_mesa_glsl_read_ir(_mesa_glsl_parse_state *state, exec_list *instructions, + const char *src) +{ + s_expression *expr = s_expression::read_expression(src); + if (expr == NULL) { + printf("couldn't parse S-Expression."); + state->error = true; + return; + } + printf("S-Expression:\n"); + expr->print(); + printf("\n"); + + // FINISHME: actually read the IR. + state->error = true; +} + |