From 8e6cd3bf54132d64a1f39df05c9392b46eece2a1 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Wed, 10 Mar 2010 09:31:30 -0800 Subject: [PATCH] Require the shader target be specified to the driver program --- glsl_parser_extras.cpp | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/glsl_parser_extras.cpp b/glsl_parser_extras.cpp index caa221f9212..222f06b5263 100644 --- a/glsl_parser_extras.cpp +++ b/glsl_parser_extras.cpp @@ -684,8 +684,27 @@ main(int argc, char **argv) struct simple_node *ptr; exec_list instructions; - (void) argc; - shader = load_text_file(argv[1], & shader_len); + if (argc < 3) { + printf("Usage: %s [v|g|f] \n", argv[0]); + return EXIT_FAILURE; + } + + switch (argv[1][0]) { + case 'v': + state.target = vertex_shader; + break; + case 'g': + state.target = geometry_shader; + break; + case 'f': + state.target = fragment_shader; + break; + default: + printf("Usage: %s [v|g|f] \n", argv[0]); + return EXIT_FAILURE; + } + + shader = load_text_file(argv[2], & shader_len); state.scanner = NULL; make_empty_list(& state.translation_unit); -- 2.30.2