From: Emil Velikov <emil.veli...@collabora.com>

Signed-off-by: Emil Velikov <emil.veli...@collabora.com>
---

XXX: to avoid getting stuck (due to it's size), the file movements have 
been trimmed out :-) 

 configure.ac                                       |   1 -
 src/Makefile.am                                    |   2 +-
 src/SConscript                                     |   1 -
 src/compiler/Makefile.am                           | 201 ++++++++++++++++++++-
 src/compiler/Makefile.sources                      | 147 +++++++++++++++
 src/compiler/SConscript                            |   2 +
 src/{ => compiler}/glsl/.gitignore                 |   0
 src/{ => compiler}/glsl/Android.gen.mk             |   0
 src/{ => compiler}/glsl/Android.mk                 |   0
 src/{ => compiler}/glsl/Makefile.am                |   0
 src/{ => compiler}/glsl/Makefile.sources           |   0
 src/{ => compiler}/glsl/README                     |   0
 src/{ => compiler}/glsl/SConscript                 |   0
 src/{ => compiler}/glsl/TODO                       |   0
 src/{ => compiler}/glsl/ast.h                      |   0
 src/{ => compiler}/glsl/ast_array_index.cpp        |   0
 src/{ => compiler}/glsl/ast_expr.cpp               |   0
 src/{ => compiler}/glsl/ast_function.cpp           |   0
 src/{ => compiler}/glsl/ast_to_hir.cpp             |   0
 src/{ => compiler}/glsl/ast_type.cpp               |   0
 src/{ => compiler}/glsl/blob.c                     |   0
 src/{ => compiler}/glsl/blob.h                     |   0
 src/{ => compiler}/glsl/builtin_functions.cpp      |   0
 src/{ => compiler}/glsl/builtin_types.cpp          |   0
 src/{ => compiler}/glsl/builtin_variables.cpp      |   0
 src/{ => compiler}/glsl/glcpp/.gitignore           |   0
 src/{ => compiler}/glsl/glcpp/README               |   0
 src/{ => compiler}/glsl/glcpp/glcpp-lex.l          |   0
 src/{ => compiler}/glsl/glcpp/glcpp-parse.y        |   0
 src/{ => compiler}/glsl/glcpp/glcpp.c              |   0
 src/{ => compiler}/glsl/glcpp/glcpp.h              |   0
 src/{ => compiler}/glsl/glcpp/pp.c                 |   0
 src/{ => compiler}/glsl/glcpp/tests/.gitignore     |   0
 .../glsl/glcpp/tests/000-content-with-spaces.c     |   0
 .../glcpp/tests/000-content-with-spaces.c.expected |   0
 src/{ => compiler}/glsl/glcpp/tests/001-define.c   |   0
 .../glsl/glcpp/tests/001-define.c.expected         |   0
 .../glsl/glcpp/tests/002-define-chain.c            |   0
 .../glsl/glcpp/tests/002-define-chain.c.expected   |   0
 .../glsl/glcpp/tests/003-define-chain-reverse.c    |   0
 .../tests/003-define-chain-reverse.c.expected      |   0
 .../glsl/glcpp/tests/004-define-recursive.c        |   0
 .../glcpp/tests/004-define-recursive.c.expected    |   0
 .../glsl/glcpp/tests/005-define-composite-chain.c  |   0
 .../tests/005-define-composite-chain.c.expected    |   0
 .../tests/006-define-composite-chain-reverse.c     |   0
 .../006-define-composite-chain-reverse.c.expected  |   0
 .../glcpp/tests/007-define-composite-recursive.c   |   0
 .../007-define-composite-recursive.c.expected      |   0
 .../glsl/glcpp/tests/008-define-empty.c            |   0
 .../glsl/glcpp/tests/008-define-empty.c.expected   |   0
 src/{ => compiler}/glsl/glcpp/tests/009-undef.c    |   0
 .../glsl/glcpp/tests/009-undef.c.expected          |   0
 .../glsl/glcpp/tests/010-undef-re-define.c         |   0
 .../glcpp/tests/010-undef-re-define.c.expected     |   0
 .../glsl/glcpp/tests/011-define-func-empty.c       |   0
 .../glcpp/tests/011-define-func-empty.c.expected   |   0
 .../glsl/glcpp/tests/012-define-func-no-args.c     |   0
 .../glcpp/tests/012-define-func-no-args.c.expected |   0
 .../glcpp/tests/013-define-func-1-arg-unused.c     |   0
 .../tests/013-define-func-1-arg-unused.c.expected  |   0
 .../glcpp/tests/014-define-func-2-arg-unused.c     |   0
 .../tests/014-define-func-2-arg-unused.c.expected  |   0
 .../glcpp/tests/015-define-object-with-parens.c    |   0
 .../tests/015-define-object-with-parens.c.expected |   0
 .../glsl/glcpp/tests/016-define-func-1-arg.c       |   0
 .../glcpp/tests/016-define-func-1-arg.c.expected   |   0
 .../glsl/glcpp/tests/017-define-func-2-args.c      |   0
 .../glcpp/tests/017-define-func-2-args.c.expected  |   0
 .../tests/018-define-func-macro-as-parameter.c     |   0
 .../018-define-func-macro-as-parameter.c.expected  |   0
 .../glsl/glcpp/tests/019-define-func-1-arg-multi.c |   0
 .../tests/019-define-func-1-arg-multi.c.expected   |   0
 .../glsl/glcpp/tests/020-define-func-2-arg-multi.c |   0
 .../tests/020-define-func-2-arg-multi.c.expected   |   0
 .../glsl/glcpp/tests/021-define-func-compose.c     |   0
 .../glcpp/tests/021-define-func-compose.c.expected |   0
 .../glcpp/tests/022-define-func-arg-with-parens.c  |   0
 .../022-define-func-arg-with-parens.c.expected     |   0
 .../glsl/glcpp/tests/023-define-extra-whitespace.c |   0
 .../tests/023-define-extra-whitespace.c.expected   |   0
 .../tests/024-define-chain-to-self-recursion.c     |   0
 .../024-define-chain-to-self-recursion.c.expected  |   0
 .../glsl/glcpp/tests/025-func-macro-as-non-macro.c |   0
 .../tests/025-func-macro-as-non-macro.c.expected   |   0
 .../glcpp/tests/026-define-func-extra-newlines.c   |   0
 .../026-define-func-extra-newlines.c.expected      |   0
 .../glcpp/tests/027-define-chain-obj-to-func.c     |   0
 .../tests/027-define-chain-obj-to-func.c.expected  |   0
 .../glcpp/tests/028-define-chain-obj-to-non-func.c |   0
 .../028-define-chain-obj-to-non-func.c.expected    |   0
 .../tests/029-define-chain-obj-to-func-with-args.c |   0
 ...9-define-chain-obj-to-func-with-args.c.expected |   0
 .../tests/030-define-chain-obj-to-func-compose.c   |   0
 ...030-define-chain-obj-to-func-compose.c.expected |   0
 .../tests/031-define-chain-func-to-func-compose.c  |   0
 ...31-define-chain-func-to-func-compose.c.expected |   0
 .../glcpp/tests/032-define-func-self-recurse.c     |   0
 .../tests/032-define-func-self-recurse.c.expected  |   0
 .../glcpp/tests/033-define-func-self-compose.c     |   0
 .../tests/033-define-func-self-compose.c.expected  |   0
 .../tests/034-define-func-self-compose-non-func.c  |   0
 ...34-define-func-self-compose-non-func.c.expected |   0
 ...nc-self-compose-non-func-multi-token-argument.c |   0
 ...ompose-non-func-multi-token-argument.c.expected |   0
 ...36-define-func-non-macro-multi-token-argument.c |   0
 ...-func-non-macro-multi-token-argument.c.expected |   0
 .../glcpp/tests/037-finalize-unexpanded-macro.c    |   0
 .../tests/037-finalize-unexpanded-macro.c.expected |   0
 .../glsl/glcpp/tests/038-func-arg-with-commas.c    |   0
 .../tests/038-func-arg-with-commas.c.expected      |   0
 .../tests/039-func-arg-obj-macro-with-comma.c      |   0
 .../039-func-arg-obj-macro-with-comma.c.expected   |   0
 .../glsl/glcpp/tests/040-token-pasting.c           |   0
 .../glsl/glcpp/tests/040-token-pasting.c.expected  |   0
 src/{ => compiler}/glsl/glcpp/tests/041-if-0.c     |   0
 .../glsl/glcpp/tests/041-if-0.c.expected           |   0
 src/{ => compiler}/glsl/glcpp/tests/042-if-1.c     |   0
 .../glsl/glcpp/tests/042-if-1.c.expected           |   0
 .../glsl/glcpp/tests/043-if-0-else.c               |   0
 .../glsl/glcpp/tests/043-if-0-else.c.expected      |   0
 .../glsl/glcpp/tests/044-if-1-else.c               |   0
 .../glsl/glcpp/tests/044-if-1-else.c.expected      |   0
 .../glsl/glcpp/tests/045-if-0-elif.c               |   0
 .../glsl/glcpp/tests/045-if-0-elif.c.expected      |   0
 .../glsl/glcpp/tests/046-if-1-elsif.c              |   0
 .../glsl/glcpp/tests/046-if-1-elsif.c.expected     |   0
 .../glsl/glcpp/tests/047-if-elif-else.c            |   0
 .../glsl/glcpp/tests/047-if-elif-else.c.expected   |   0
 .../glsl/glcpp/tests/048-if-nested.c               |   0
 .../glsl/glcpp/tests/048-if-nested.c.expected      |   0
 .../glcpp/tests/049-if-expression-precedence.c     |   0
 .../tests/049-if-expression-precedence.c.expected  |   0
 .../glsl/glcpp/tests/050-if-defined.c              |   0
 .../glsl/glcpp/tests/050-if-defined.c.expected     |   0
 .../glsl/glcpp/tests/051-if-relational.c           |   0
 .../glsl/glcpp/tests/051-if-relational.c.expected  |   0
 .../glsl/glcpp/tests/052-if-bitwise.c              |   0
 .../glsl/glcpp/tests/052-if-bitwise.c.expected     |   0
 .../glsl/glcpp/tests/053-if-divide-and-shift.c     |   0
 .../glcpp/tests/053-if-divide-and-shift.c.expected |   0
 .../glsl/glcpp/tests/054-if-with-macros.c          |   0
 .../glsl/glcpp/tests/054-if-with-macros.c.expected |   0
 .../055-define-chain-obj-to-func-parens-in-text.c  |   0
 ...ine-chain-obj-to-func-parens-in-text.c.expected |   0
 .../glcpp/tests/056-macro-argument-with-comma.c    |   0
 .../tests/056-macro-argument-with-comma.c.expected |   0
 .../glsl/glcpp/tests/057-empty-arguments.c         |   0
 .../glcpp/tests/057-empty-arguments.c.expected     |   0
 .../tests/058-token-pasting-empty-arguments.c      |   0
 .../058-token-pasting-empty-arguments.c.expected   |   0
 .../glsl/glcpp/tests/059-token-pasting-integer.c   |   0
 .../tests/059-token-pasting-integer.c.expected     |   0
 .../060-left-paren-in-macro-right-paren-in-text.c  |   0
 ...t-paren-in-macro-right-paren-in-text.c.expected |   0
 .../tests/061-define-chain-obj-to-func-multi.c     |   0
 .../061-define-chain-obj-to-func-multi.c.expected  |   0
 .../glsl/glcpp/tests/062-if-0-skips-garbage.c      |   0
 .../glcpp/tests/062-if-0-skips-garbage.c.expected  |   0
 src/{ => compiler}/glsl/glcpp/tests/063-comments.c |   0
 .../glsl/glcpp/tests/063-comments.c.expected       |   0
 src/{ => compiler}/glsl/glcpp/tests/064-version.c  |   0
 .../glsl/glcpp/tests/064-version.c.expected        |   0
 .../glsl/glcpp/tests/065-if-defined-parens.c       |   0
 .../glcpp/tests/065-if-defined-parens.c.expected   |   0
 .../glsl/glcpp/tests/066-if-nospace-expression.c   |   0
 .../tests/066-if-nospace-expression.c.expected     |   0
 .../glsl/glcpp/tests/067-nested-ifdef-ifndef.c     |   0
 .../glcpp/tests/067-nested-ifdef-ifndef.c.expected |   0
 .../glsl/glcpp/tests/068-accidental-pasting.c      |   0
 .../glcpp/tests/068-accidental-pasting.c.expected  |   0
 .../glsl/glcpp/tests/069-repeated-argument.c       |   0
 .../glcpp/tests/069-repeated-argument.c.expected   |   0
 .../tests/070-undefined-macro-in-expression.c      |   0
 .../070-undefined-macro-in-expression.c.expected   |   0
 .../glsl/glcpp/tests/071-punctuator.c              |   0
 .../glsl/glcpp/tests/071-punctuator.c.expected     |   0
 .../glsl/glcpp/tests/072-token-pasting-same-line.c |   0
 .../tests/072-token-pasting-same-line.c.expected   |   0
 .../glsl/glcpp/tests/073-if-in-ifdef.c             |   0
 .../glsl/glcpp/tests/073-if-in-ifdef.c.expected    |   0
 .../glsl/glcpp/tests/074-elif-undef.c              |   0
 .../glsl/glcpp/tests/074-elif-undef.c.expected     |   0
 .../glsl/glcpp/tests/075-elif-elif-undef.c         |   0
 .../glcpp/tests/075-elif-elif-undef.c.expected     |   0
 .../glsl/glcpp/tests/076-elif-undef-nested.c       |   0
 .../glcpp/tests/076-elif-undef-nested.c.expected   |   0
 .../glsl/glcpp/tests/077-else-without-if.c         |   0
 .../glcpp/tests/077-else-without-if.c.expected     |   0
 .../glsl/glcpp/tests/078-elif-without-if.c         |   0
 .../glcpp/tests/078-elif-without-if.c.expected     |   0
 .../glsl/glcpp/tests/079-endif-without-if.c        |   0
 .../glcpp/tests/079-endif-without-if.c.expected    |   0
 .../glsl/glcpp/tests/080-if-without-expression.c   |   0
 .../tests/080-if-without-expression.c.expected     |   0
 .../glsl/glcpp/tests/081-elif-without-expression.c |   0
 .../tests/081-elif-without-expression.c.expected   |   0
 .../glsl/glcpp/tests/082-invalid-paste.c           |   0
 .../glsl/glcpp/tests/082-invalid-paste.c.expected  |   0
 .../glsl/glcpp/tests/083-unterminated-if.c         |   0
 .../glcpp/tests/083-unterminated-if.c.expected     |   0
 .../glsl/glcpp/tests/084-unbalanced-parentheses.c  |   0
 .../tests/084-unbalanced-parentheses.c.expected    |   0
 .../glcpp/tests/085-incorrect-argument-count.c     |   0
 .../tests/085-incorrect-argument-count.c.expected  |   0
 .../glsl/glcpp/tests/086-reserved-macro-names.c    |   0
 .../tests/086-reserved-macro-names.c.expected      |   0
 .../glsl/glcpp/tests/087-if-comments.c             |   0
 .../glsl/glcpp/tests/087-if-comments.c.expected    |   0
 .../glcpp/tests/088-redefine-macro-legitimate.c    |   0
 .../tests/088-redefine-macro-legitimate.c.expected |   0
 .../glsl/glcpp/tests/089-redefine-macro-error.c    |   0
 .../tests/089-redefine-macro-error.c.expected      |   0
 .../glsl/glcpp/tests/090-hash-error.c              |   0
 .../glsl/glcpp/tests/090-hash-error.c.expected     |   0
 .../glsl/glcpp/tests/091-hash-line.c               |   0
 .../glsl/glcpp/tests/091-hash-line.c.expected      |   0
 .../glsl/glcpp/tests/092-redefine-macro-error-2.c  |   0
 .../tests/092-redefine-macro-error-2.c.expected    |   0
 .../glsl/glcpp/tests/093-divide-by-zero.c          |   0
 .../glsl/glcpp/tests/093-divide-by-zero.c.expected |   0
 .../glcpp/tests/094-divide-by-zero-short-circuit.c |   0
 .../094-divide-by-zero-short-circuit.c.expected    |   0
 .../glsl/glcpp/tests/095-recursive-define.c        |   0
 .../glcpp/tests/095-recursive-define.c.expected    |   0
 .../glsl/glcpp/tests/096-paste-twice.c             |   0
 .../glsl/glcpp/tests/096-paste-twice.c.expected    |   0
 .../tests/097-paste-with-non-function-macro.c      |   0
 .../097-paste-with-non-function-macro.c.expected   |   0
 .../glsl/glcpp/tests/098-elif-undefined.c          |   0
 .../glsl/glcpp/tests/098-elif-undefined.c.expected |   0
 .../glsl/glcpp/tests/099-c99-example.c             |   0
 .../glsl/glcpp/tests/099-c99-example.c.expected    |   0
 .../glsl/glcpp/tests/100-macro-with-colon.c        |   0
 .../glcpp/tests/100-macro-with-colon.c.expected    |   0
 .../glsl/glcpp/tests/101-macros-used-twice.c       |   0
 .../glcpp/tests/101-macros-used-twice.c.expected   |   0
 .../glsl/glcpp/tests/102-garbage-after-endif.c     |   0
 .../glcpp/tests/102-garbage-after-endif.c.expected |   0
 .../glsl/glcpp/tests/103-garbage-after-else-0.c    |   0
 .../tests/103-garbage-after-else-0.c.expected      |   0
 .../glcpp/tests/104-hash-line-followed-by-code.c   |   0
 .../104-hash-line-followed-by-code.c.expected      |   0
 .../glsl/glcpp/tests/105-multiline-hash-line.c     |   0
 .../glcpp/tests/105-multiline-hash-line.c.expected |   0
 .../glsl/glcpp/tests/106-multiline-hash-if.c       |   0
 .../glcpp/tests/106-multiline-hash-if.c.expected   |   0
 .../glsl/glcpp/tests/107-multiline-hash-elif.c     |   0
 .../glcpp/tests/107-multiline-hash-elif.c.expected |   0
 .../glcpp/tests/108-no-space-after-hash-version.c  |   0
 .../108-no-space-after-hash-version.c.expected     |   0
 .../glcpp/tests/109-no-space-after-hash-line.c     |   0
 .../tests/109-no-space-after-hash-line.c.expected  |   0
 .../tests/110-no-space-digits-after-hash-elif.c    |   0
 .../110-no-space-digits-after-hash-elif.c.expected |   0
 .../tests/111-no-space-operator-after-hash-if.c    |   0
 .../111-no-space-operator-after-hash-if.c.expected |   0
 .../tests/112-no-space-operator-after-hash-elif.c  |   0
 ...12-no-space-operator-after-hash-elif.c.expected |   0
 .../glsl/glcpp/tests/113-line-and-file-macros.c    |   0
 .../tests/113-line-and-file-macros.c.expected      |   0
 .../glsl/glcpp/tests/114-paste-integer-tokens.c    |   0
 .../tests/114-paste-integer-tokens.c.expected      |   0
 .../glsl/glcpp/tests/115-line-continuations.c      |   0
 .../glcpp/tests/115-line-continuations.c.expected  |   0
 .../glcpp/tests/116-disable-line-continuations.c   |   0
 .../116-disable-line-continuations.c.expected      |   0
 ...e-continuation-and-non-continuation-backslash.c |   0
 ...ation-and-non-continuation-backslash.c.expected |   0
 .../glsl/glcpp/tests/118-comment-becomes-space.c   |   0
 .../tests/118-comment-becomes-space.c.expected     |   0
 .../glsl/glcpp/tests/119-elif-after-else.c         |   0
 .../glcpp/tests/119-elif-after-else.c.expected     |   0
 .../glsl/glcpp/tests/120-undef-builtin.c           |   0
 .../glsl/glcpp/tests/120-undef-builtin.c.expected  |   0
 .../glsl/glcpp/tests/121-comment-bug-72686.c       |   0
 .../glcpp/tests/121-comment-bug-72686.c.expected   |   0
 .../glsl/glcpp/tests/122-redefine-whitespace.c     |   0
 .../glcpp/tests/122-redefine-whitespace.c.expected |   0
 .../glsl/glcpp/tests/123-garbage-after-else-1.c    |   0
 .../tests/123-garbage-after-else-1.c.expected      |   0
 .../glsl/glcpp/tests/124-preprocessing-numbers.c   |   0
 .../tests/124-preprocessing-numbers.c.expected     |   0
 .../glcpp/tests/125-es-short-circuit-undefined.c   |   0
 .../125-es-short-circuit-undefined.c.expected      |   0
 .../glsl/glcpp/tests/126-garbage-after-directive.c |   0
 .../tests/126-garbage-after-directive.c.expected   |   0
 .../glsl/glcpp/tests/127-pragma-empty.c            |   0
 .../glsl/glcpp/tests/127-pragma-empty.c.expected   |   0
 .../glsl/glcpp/tests/128-space-before-hash.c       |   0
 .../glcpp/tests/128-space-before-hash.c.expected   |   0
 .../glsl/glcpp/tests/129-define-non-identifier.c   |   0
 .../tests/129-define-non-identifier.c.expected     |   0
 .../glsl/glcpp/tests/130-define-comment.c          |   0
 .../glsl/glcpp/tests/130-define-comment.c.expected |   0
 .../glsl/glcpp/tests/131-eof-without-newline.c     |   0
 .../glcpp/tests/131-eof-without-newline.c.expected |   0
 .../glcpp/tests/132-eof-without-newline-define.c   |   0
 .../132-eof-without-newline-define.c.expected      |   0
 .../glcpp/tests/133-eof-without-newline-comment.c  |   0
 .../133-eof-without-newline-comment.c.expected     |   0
 .../glsl/glcpp/tests/134-hash-comment-directive.c  |   0
 .../tests/134-hash-comment-directive.c.expected    |   0
 .../glsl/glcpp/tests/135-duplicate-parameter.c     |   0
 .../glcpp/tests/135-duplicate-parameter.c.expected |   0
 .../glcpp/tests/136-plus-plus-and-minus-minus.c    |   0
 .../tests/136-plus-plus-and-minus-minus.c.expected |   0
 .../glcpp/tests/137-expand-macro-after-period.c    |   0
 .../tests/137-expand-macro-after-period.c.expected |   0
 .../glcpp/tests/138-multi-line-comment-in-if-0.c   |   0
 .../138-multi-line-comment-in-if-0.c.expected      |   0
 .../glcpp/tests/139-define-without-macro-name.c    |   0
 .../tests/139-define-without-macro-name.c.expected |   0
 .../glsl/glcpp/tests/140-null-directive.c          |   0
 .../glsl/glcpp/tests/140-null-directive.c.expected |   0
 .../glsl/glcpp/tests/141-pragma-and-__LINE__.c     |   0
 .../glcpp/tests/141-pragma-and-__LINE__.c.expected |   0
 .../glsl/glcpp/tests/142-defined-within-macro.c    |   0
 .../tests/142-defined-within-macro.c.expected      |   0
 .../glsl/glcpp/tests/143-multiple-else.c           |   0
 .../glsl/glcpp/tests/143-multiple-else.c.expected  |   0
 src/{ => compiler}/glsl/glcpp/tests/glcpp-test     |   6 +-
 .../glsl/glcpp/tests/glcpp-test-cr-lf              |  10 +-
 src/{ => compiler}/glsl/glsl_lexer.ll              |   0
 src/{ => compiler}/glsl/glsl_parser.yy             |   0
 src/{ => compiler}/glsl/glsl_parser_extras.cpp     |   0
 src/{ => compiler}/glsl/glsl_parser_extras.h       |   0
 src/{ => compiler}/glsl/glsl_symbol_table.cpp      |   0
 src/{ => compiler}/glsl/glsl_symbol_table.h        |   0
 src/{ => compiler}/glsl/hir_field_selection.cpp    |   0
 src/{ => compiler}/glsl/ir.cpp                     |   0
 src/{ => compiler}/glsl/ir.h                       |   0
 src/{ => compiler}/glsl/ir_basic_block.cpp         |   0
 src/{ => compiler}/glsl/ir_basic_block.h           |   0
 src/{ => compiler}/glsl/ir_builder.cpp             |   0
 src/{ => compiler}/glsl/ir_builder.h               |   0
 src/{ => compiler}/glsl/ir_clone.cpp               |   0
 src/{ => compiler}/glsl/ir_constant_expression.cpp |   0
 src/{ => compiler}/glsl/ir_equals.cpp              |   0
 .../glsl/ir_expression_flattening.cpp              |   0
 src/{ => compiler}/glsl/ir_expression_flattening.h |   0
 src/{ => compiler}/glsl/ir_function.cpp            |   0
 src/{ => compiler}/glsl/ir_function_can_inline.cpp |   0
 .../glsl/ir_function_detect_recursion.cpp          |   0
 src/{ => compiler}/glsl/ir_function_inlining.h     |   0
 .../glsl/ir_hierarchical_visitor.cpp               |   0
 src/{ => compiler}/glsl/ir_hierarchical_visitor.h  |   0
 src/{ => compiler}/glsl/ir_hv_accept.cpp           |   0
 src/{ => compiler}/glsl/ir_import_prototypes.cpp   |   0
 src/{ => compiler}/glsl/ir_optimization.h          |   0
 src/{ => compiler}/glsl/ir_print_visitor.cpp       |   0
 src/{ => compiler}/glsl/ir_print_visitor.h         |   0
 src/{ => compiler}/glsl/ir_reader.cpp              |   0
 src/{ => compiler}/glsl/ir_reader.h                |   0
 src/{ => compiler}/glsl/ir_rvalue_visitor.cpp      |   0
 src/{ => compiler}/glsl/ir_rvalue_visitor.h        |   0
 src/{ => compiler}/glsl/ir_set_program_inouts.cpp  |   0
 src/{ => compiler}/glsl/ir_uniform.h               |   0
 src/{ => compiler}/glsl/ir_validate.cpp            |   0
 src/{ => compiler}/glsl/ir_variable_refcount.cpp   |   0
 src/{ => compiler}/glsl/ir_variable_refcount.h     |   0
 src/{ => compiler}/glsl/ir_visitor.h               |   0
 src/{ => compiler}/glsl/link_atomics.cpp           |   0
 src/{ => compiler}/glsl/link_functions.cpp         |   0
 src/{ => compiler}/glsl/link_interface_blocks.cpp  |   0
 .../glsl/link_uniform_block_active_visitor.cpp     |   0
 .../glsl/link_uniform_block_active_visitor.h       |   0
 src/{ => compiler}/glsl/link_uniform_blocks.cpp    |   0
 .../glsl/link_uniform_initializers.cpp             |   0
 src/{ => compiler}/glsl/link_uniforms.cpp          |   0
 src/{ => compiler}/glsl/link_varyings.cpp          |   0
 src/{ => compiler}/glsl/link_varyings.h            |   0
 src/{ => compiler}/glsl/linker.cpp                 |   0
 src/{ => compiler}/glsl/linker.h                   |   0
 src/{ => compiler}/glsl/list.h                     |   0
 src/{ => compiler}/glsl/loop_analysis.cpp          |   0
 src/{ => compiler}/glsl/loop_analysis.h            |   0
 src/{ => compiler}/glsl/loop_controls.cpp          |   0
 src/{ => compiler}/glsl/loop_unroll.cpp            |   0
 src/{ => compiler}/glsl/lower_buffer_access.cpp    |   0
 src/{ => compiler}/glsl/lower_buffer_access.h      |   0
 src/{ => compiler}/glsl/lower_clip_distance.cpp    |   0
 .../glsl/lower_const_arrays_to_uniforms.cpp        |   0
 src/{ => compiler}/glsl/lower_discard.cpp          |   0
 src/{ => compiler}/glsl/lower_discard_flow.cpp     |   0
 .../glsl/lower_if_to_cond_assign.cpp               |   0
 src/{ => compiler}/glsl/lower_instructions.cpp     |   0
 src/{ => compiler}/glsl/lower_jumps.cpp            |   0
 src/{ => compiler}/glsl/lower_mat_op_to_vec.cpp    |   0
 .../glsl/lower_named_interface_blocks.cpp          |   0
 src/{ => compiler}/glsl/lower_noise.cpp            |   0
 src/{ => compiler}/glsl/lower_offset_array.cpp     |   0
 src/{ => compiler}/glsl/lower_output_reads.cpp     |   0
 src/{ => compiler}/glsl/lower_packed_varyings.cpp  |   0
 src/{ => compiler}/glsl/lower_packing_builtins.cpp |   0
 src/{ => compiler}/glsl/lower_shared_reference.cpp |   0
 src/{ => compiler}/glsl/lower_subroutine.cpp       |   0
 src/{ => compiler}/glsl/lower_tess_level.cpp       |   0
 .../glsl/lower_texture_projection.cpp              |   0
 src/{ => compiler}/glsl/lower_ubo_reference.cpp    |   0
 .../glsl/lower_variable_index_to_cond_assign.cpp   |   0
 .../glsl/lower_vec_index_to_cond_assign.cpp        |   0
 .../glsl/lower_vec_index_to_swizzle.cpp            |   0
 src/{ => compiler}/glsl/lower_vector.cpp           |   0
 src/{ => compiler}/glsl/lower_vector_derefs.cpp    |   0
 src/{ => compiler}/glsl/lower_vector_insert.cpp    |   0
 src/{ => compiler}/glsl/lower_vertex_id.cpp        |   0
 src/{ => compiler}/glsl/main.cpp                   |   0
 src/{ => compiler}/glsl/opt_algebraic.cpp          |   0
 src/{ => compiler}/glsl/opt_array_splitting.cpp    |   0
 .../glsl/opt_conditional_discard.cpp               |   0
 src/{ => compiler}/glsl/opt_constant_folding.cpp   |   0
 .../glsl/opt_constant_propagation.cpp              |   0
 src/{ => compiler}/glsl/opt_constant_variable.cpp  |   0
 src/{ => compiler}/glsl/opt_copy_propagation.cpp   |   0
 .../glsl/opt_copy_propagation_elements.cpp         |   0
 .../glsl/opt_dead_builtin_variables.cpp            |   0
 .../glsl/opt_dead_builtin_varyings.cpp             |   0
 src/{ => compiler}/glsl/opt_dead_code.cpp          |   0
 src/{ => compiler}/glsl/opt_dead_code_local.cpp    |   0
 src/{ => compiler}/glsl/opt_dead_functions.cpp     |   0
 .../glsl/opt_flatten_nested_if_blocks.cpp          |   0
 src/{ => compiler}/glsl/opt_flip_matrices.cpp      |   0
 src/{ => compiler}/glsl/opt_function_inlining.cpp  |   0
 src/{ => compiler}/glsl/opt_if_simplification.cpp  |   0
 src/{ => compiler}/glsl/opt_minmax.cpp             |   0
 src/{ => compiler}/glsl/opt_noop_swizzle.cpp       |   0
 src/{ => compiler}/glsl/opt_rebalance_tree.cpp     |   0
 src/{ => compiler}/glsl/opt_redundant_jumps.cpp    |   0
 .../glsl/opt_structure_splitting.cpp               |   0
 src/{ => compiler}/glsl/opt_swizzle_swizzle.cpp    |   0
 src/{ => compiler}/glsl/opt_tree_grafting.cpp      |   0
 src/{ => compiler}/glsl/opt_vectorize.cpp          |   0
 src/{ => compiler}/glsl/program.h                  |   0
 src/{ => compiler}/glsl/s_expression.cpp           |   0
 src/{ => compiler}/glsl/s_expression.h             |   0
 src/{ => compiler}/glsl/standalone_scaffolding.cpp |   0
 src/{ => compiler}/glsl/standalone_scaffolding.h   |   0
 src/{ => compiler}/glsl/test.cpp                   |   0
 src/{ => compiler}/glsl/test_optpass.cpp           |   0
 src/{ => compiler}/glsl/test_optpass.h             |   0
 src/{ => compiler}/glsl/tests/.gitignore           |   0
 src/{ => compiler}/glsl/tests/blob_test.c          |   0
 .../glsl/tests/builtin_variable_test.cpp           |   0
 src/{ => compiler}/glsl/tests/compare_ir           |   0
 .../glsl/tests/copy_constant_to_storage_tests.cpp  |   0
 src/{ => compiler}/glsl/tests/general_ir_test.cpp  |   0
 .../glsl/tests/invalidate_locations_test.cpp       |   0
 .../glsl/tests/lower_jumps/.gitignore              |   0
 .../glsl/tests/lower_jumps/create_test_cases.py    |   0
 src/{ => compiler}/glsl/tests/optimization-test    |   0
 .../glsl/tests/sampler_types_test.cpp              |   0
 .../glsl/tests/set_uniform_initializer_tests.cpp   |   0
 src/{ => compiler}/glsl/tests/sexps.py             |   0
 .../glsl/tests/uniform_initializer_utils.cpp       |   0
 .../glsl/tests/uniform_initializer_utils.h         |   0
 src/{ => compiler}/glsl/tests/varyings_test.cpp    |   0
 src/compiler/glsl_types.cpp                        |   2 +-
 src/compiler/nir/Makefile.sources                  |  71 ++++++++
 src/compiler/nir/glsl_to_nir.cpp                   |   6 +-
 src/compiler/nir/glsl_to_nir.h                     |   2 +-
 src/compiler/nir/nir.h                             |   2 +-
 src/compiler/nir/nir_lower_atomics.c               |   2 +-
 src/compiler/nir/nir_lower_samplers.c              |   2 +-
 src/compiler/nir_types.cpp                         |   2 +-
 src/gallium/auxiliary/nir/tgsi_to_nir.c            |   2 +-
 src/mesa/Makefile.am                               |   4 +-
 src/mesa/Makefile.sources                          |   3 -
 src/mesa/drivers/dri/i965/brw_cs.c                 |   2 +-
 .../drivers/dri/i965/brw_cubemap_normalize.cpp     |   2 +-
 src/mesa/drivers/dri/i965/brw_fs.h                 |   2 +-
 .../dri/i965/brw_fs_channel_expressions.cpp        |   4 +-
 src/mesa/drivers/dri/i965/brw_fs_nir.cpp           |   2 +-
 .../drivers/dri/i965/brw_fs_vector_splitting.cpp   |   4 +-
 src/mesa/drivers/dri/i965/brw_gs.c                 |   2 +-
 src/mesa/drivers/dri/i965/brw_link.cpp             |   2 +-
 .../dri/i965/brw_lower_texture_gradients.cpp       |   4 +-
 .../dri/i965/brw_lower_unnormalized_offset.cpp     |   4 +-
 src/mesa/drivers/dri/i965/brw_nir_uniforms.cpp     |   2 +-
 src/mesa/drivers/dri/i965/brw_program.c            |   2 +-
 src/mesa/drivers/dri/i965/brw_vec4.h               |   2 +-
 src/mesa/drivers/dri/i965/gen7_cs_state.c          |   2 +-
 src/mesa/drivers/dri/i965/intel_resolve_map.h      |   2 +-
 src/mesa/main/context.c                            |   2 +-
 src/mesa/main/ff_fragment_shader.cpp               |   8 +-
 src/mesa/main/pipelineobj.c                        |   4 +-
 src/mesa/main/program_resource.c                   |   2 +-
 src/mesa/main/shader_query.cpp                     |   6 +-
 src/mesa/main/shaderapi.c                          |   8 +-
 src/mesa/main/uniform_query.cpp                    |   8 +-
 src/mesa/main/uniforms.c                           |   2 +-
 src/mesa/main/uniforms.h                           |   2 +-
 src/mesa/program/ir_to_mesa.cpp                    |  18 +-
 src/mesa/program/prog_to_nir.c                     |   2 +-
 src/mesa/program/sampler.cpp                       |   8 +-
 src/mesa/state_tracker/st_draw.c                   |   2 +-
 src/mesa/state_tracker/st_glsl_to_tgsi.cpp         |   4 +-
 497 files changed, 498 insertions(+), 84 deletions(-)

diff --git a/configure.ac b/configure.ac
index dc1e995..4172eae 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2506,7 +2506,6 @@ AC_CONFIG_FILES([Makefile
                src/gallium/winsys/virgl/vtest/Makefile
                src/gbm/Makefile
                src/gbm/main/gbm.pc
-               src/glsl/Makefile
                src/glx/Makefile
                src/glx/apple/Makefile
                src/glx/tests/Makefile
diff --git a/src/Makefile.am b/src/Makefile.am
index a0ec401..9b23cf5 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -25,7 +25,7 @@ SUBDIRS = . gtest util mapi/glapi/gen mapi
 SUBDIRS += compiler
 
 if NEED_OPENGL_COMMON
-SUBDIRS += glsl mesa
+SUBDIRS += mesa
 endif
 
 SUBDIRS += loader
diff --git a/src/SConscript b/src/SConscript
index 8acf9b0..4ba0a32 100644
--- a/src/SConscript
+++ b/src/SConscript
@@ -6,7 +6,6 @@ if env['platform'] == 'windows':
 
 SConscript('util/SConscript')
 SConscript('compiler/SConscript')
-SConscript('glsl/SConscript')
 
 if env['hostonly']:
     # We are just compiling the things necessary on the host for cross
diff --git a/src/compiler/Makefile.am b/src/compiler/Makefile.am
index 1e3778d..0bc8e48 100644
--- a/src/compiler/Makefile.am
+++ b/src/compiler/Makefile.am
@@ -1,4 +1,5 @@
 #
+# Copyright © 2012 Jon TURNEY
 # Copyright (C) 2015 Intel Corporation
 #
 # Permission is hereby granted, free of charge, to any person obtaining a
@@ -27,6 +28,9 @@ AM_CPPFLAGS = \
        -I$(top_srcdir)/src \
        -I$(top_srcdir)/src/mapi \
        -I$(top_srcdir)/src/mesa/ \
+       -I$(top_builddir)/src/compiler/glsl\
+       -I$(top_srcdir)/src/compiler/glsl\
+       -I$(top_srcdir)/src/compiler/glsl/glcpp\
        -I$(top_srcdir)/src/gallium/include \
        -I$(top_srcdir)/src/gallium/auxiliary \
        -I$(top_srcdir)/src/gtest/include \
@@ -51,6 +55,201 @@ CLEANFILES =
 EXTRA_DIST = SConscript
 
 
+EXTRA_DIST += glsl/tests glsl/glcpp/tests glsl/README  \
+       glsl/TODO glsl/glcpp/README                     \
+       glsl/glsl_lexer.ll                              \
+       glsl/glsl_parser.yy                             \
+       glsl/glcpp/glcpp-lex.l                          \
+       glsl/glcpp/glcpp-parse.y                        \
+       glsl/Makefile.sources                           \
+       glsl/SConscript
+
+TESTS += glsl/glcpp/tests/glcpp-test                   \
+       glsl/glcpp/tests/glcpp-test-cr-lf               \
+       glsl/tests/blob-test                            \
+       glsl/tests/general-ir-test                      \
+       glsl/tests/optimization-test                    \
+       glsl/tests/sampler-types-test                   \
+       glsl/tests/uniform-initializer-test
+
+TESTS_ENVIRONMENT= \
+       export PYTHON2=$(PYTHON2); \
+       export PYTHON_FLAGS=$(PYTHON_FLAGS);
+
+check_PROGRAMS +=                                      \
+       glsl/glcpp/glcpp                                \
+       glsl/glsl_test                                  \
+       glsl/tests/blob-test                            \
+       glsl/tests/general-ir-test                      \
+       glsl/tests/sampler-types-test                   \
+       glsl/tests/uniform-initializer-test
+
+noinst_PROGRAMS = glsl_compiler
+
+glsl_tests_blob_test_SOURCES =                         \
+       glsl/tests/blob_test.c
+glsl_tests_blob_test_LDADD =                           \
+       glsl/libglsl.la
+
+glsl_tests_general_ir_test_SOURCES =                   \
+       glsl/standalone_scaffolding.cpp                 \
+       glsl/tests/builtin_variable_test.cpp            \
+       glsl/tests/invalidate_locations_test.cpp        \
+       glsl/tests/general_ir_test.cpp                  \
+       glsl/tests/varyings_test.cpp
+glsl_tests_general_ir_test_CFLAGS =                    \
+       $(PTHREAD_CFLAGS)
+glsl_tests_general_ir_test_LDADD =                     \
+       $(top_builddir)/src/gtest/libgtest.la           \
+       glsl/libglsl.la         \
+       $(top_builddir)/src/libglsl_util.la             \
+       $(PTHREAD_LIBS)
+
+glsl_tests_uniform_initializer_test_SOURCES =          \
+       glsl/tests/copy_constant_to_storage_tests.cpp   \
+       glsl/tests/set_uniform_initializer_tests.cpp    \
+       glsl/tests/uniform_initializer_utils.cpp        \
+       glsl/tests/uniform_initializer_utils.h
+glsl_tests_uniform_initializer_test_CFLAGS =           \
+       $(PTHREAD_CFLAGS)
+glsl_tests_uniform_initializer_test_LDADD =            \
+       $(top_builddir)/src/gtest/libgtest.la           \
+       glsl/libglsl.la         \
+       $(top_builddir)/src/libglsl_util.la             \
+       $(PTHREAD_LIBS)
+
+glsl_tests_sampler_types_test_SOURCES =                        \
+       glsl/tests/sampler_types_test.cpp
+glsl_tests_sampler_types_test_CFLAGS =                 \
+       $(PTHREAD_CFLAGS)
+glsl_tests_sampler_types_test_LDADD =                  \
+       $(top_builddir)/src/gtest/libgtest.la           \
+       glsl/libglsl.la                                 \
+       $(top_builddir)/src/libglsl_util.la             \
+       $(PTHREAD_LIBS)
+
+noinst_LTLIBRARIES += glsl/libglsl.la glsl/libglcpp.la
+
+glsl_libglcpp_la_LIBADD =                              \
+       $(top_builddir)/src/util/libmesautil.la
+glsl_libglcpp_la_SOURCES =                             \
+       glsl/glcpp/glcpp-lex.c                          \
+       glsl/glcpp/glcpp-parse.c                        \
+       glsl/glcpp/glcpp-parse.h                        \
+       $(LIBGLCPP_FILES)
+
+glsl_glcpp_glcpp_SOURCES =                             \
+       glsl/glcpp/glcpp.c
+glsl_glcpp_glcpp_LDADD =                               \
+       glsl/libglcpp.la        \
+       $(top_builddir)/src/libglsl_util.la             \
+       -lm
+
+glsl_libglsl_la_LIBADD = \
+       nir/libnir.la \
+       glsl/libglcpp.la
+
+glsl_libglsl_la_SOURCES =                              \
+       glsl/glsl_lexer.cpp                             \
+       glsl/glsl_parser.cpp                            \
+       glsl/glsl_parser.h                              \
+       $(LIBGLSL_FILES)
+
+
+glsl_compiler_SOURCES = \
+       $(GLSL_COMPILER_CXX_FILES)
+
+glsl_compiler_LDADD =                                  \
+       glsl/libglsl.la                                 \
+       $(top_builddir)/src/libglsl_util.la             \
+       $(top_builddir)/src/util/libmesautil.la         \
+       $(PTHREAD_LIBS)
+
+glsl_glsl_test_SOURCES = \
+       glsl/standalone_scaffolding.cpp \
+       glsl/test.cpp \
+       glsl/test_optpass.cpp \
+       glsl/test_optpass.h
+
+glsl_glsl_test_LDADD =                                 \
+       glsl/libglsl.la                                 \
+       $(top_builddir)/src/libglsl_util.la             \
+       $(PTHREAD_LIBS)
+
+# We write our own rules for yacc and lex below. We'd rather use automake,
+# but automake makes it especially difficult for a number of reasons:
+#
+#  * < automake-1.12 generates .h files from .yy and .ypp files, but
+#    >=automake-1.12 generates .hh and .hpp files respectively. There's no
+#    good way of making a project that uses C++ yacc files compatible with
+#    both versions of automake. Strong work automake developers.
+#
+#  * Since we're generating code from .l/.y files in a subdirectory (glcpp/)
+#    we'd like the resulting generated code to also go in glcpp/ for purposes
+#    of distribution. Automake gives no way to do this.
+#
+#  * Since we're building multiple yacc parsers into one library (and via one
+#    Makefile) we have to use per-target YFLAGS. Using per-target YFLAGS causes
+#    automake to name the resulting generated code as 
<library-name>_filename.c.
+#    Frankly, that's ugly and we don't want a libglcpp_glcpp_parser.h file.
+
+# In order to make build output print "LEX" and "YACC", we reproduce the
+# automake variables below.
+
+AM_V_LEX = $(am__v_LEX_$(V))
+am__v_LEX_ = $(am__v_LEX_$(AM_DEFAULT_VERBOSITY))
+am__v_LEX_0 = @echo "  LEX     " $@;
+am__v_LEX_1 =
+
+AM_V_YACC = $(am__v_YACC_$(V))
+am__v_YACC_ = $(am__v_YACC_$(AM_DEFAULT_VERBOSITY))
+am__v_YACC_0 = @echo "  YACC    " $@;
+am__v_YACC_1 =
+
+MKDIR_GEN = $(AM_V_at)$(MKDIR_P) $(@D)
+YACC_GEN = $(AM_V_YACC)$(YACC) $(YFLAGS)
+LEX_GEN = $(AM_V_LEX)$(LEX) $(LFLAGS)
+
+glsl/glsl_parser.cpp glsl/glsl_parser.h: glsl/glsl_parser.yy
+       $(YACC_GEN) -o $@ -p "_mesa_glsl_" 
--defines=$(builddir)/glsl/glsl_parser.h $(srcdir)/glsl/glsl_parser.yy
+
+glsl/glsl_lexer.cpp: glsl/glsl_lexer.ll
+       $(LEX_GEN) -o $@ $(srcdir)/glsl/glsl_lexer.ll
+
+glsl/glcpp/glcpp-parse.c glsl/glcpp/glcpp-parse.h: glsl/glcpp/glcpp-parse.y
+       $(MKDIR_GEN)
+       $(YACC_GEN) -o $@ -p "glcpp_parser_" 
--defines=$(builddir)/glsl/glcpp/glcpp-parse.h 
$(srcdir)/glsl/glcpp/glcpp-parse.y
+
+glsl/glcpp/glcpp-lex.c: glsl/glcpp/glcpp-lex.l
+       $(MKDIR_GEN)
+       $(LEX_GEN) -o $@ $(srcdir)/glsl/glcpp/glcpp-lex.l
+
+# Only the parsers (specifically the header files generated at the same time)
+# need to be in BUILT_SOURCES. Though if we list the parser headers YACC is
+# called for the .c/.cpp file and the .h files. By listing the .c/.cpp files
+# YACC is only executed once for each parser. The rest of the generated code
+# will be created at the appropriate times according to standard automake
+# dependency rules.
+BUILT_SOURCES +=                                       \
+       glsl/glsl_parser.cpp                            \
+       glsl/glsl_lexer.cpp                             \
+       glsl/glcpp/glcpp-parse.c                        \
+       glsl/glcpp/glcpp-lex.c
+CLEANFILES +=                                          \
+       glsl/glcpp/glcpp-parse.h                        \
+       glsl/glsl_parser.h                              \
+       glsl/glsl_parser.cpp                            \
+       glsl/glsl_lexer.cpp                             \
+       glsl/glcpp/glcpp-parse.c                        \
+       glsl/glcpp/glcpp-lex.c
+
+clean-local:
+       $(RM) -r subtest-cr subtest-cr-lf subtest-lf subtest-lf-cr
+
+dist-hook:
+       $(RM) glsl/glcpp/tests/*.out
+       $(RM) glsl/glcpp/tests/subtest*/*.out
+
 noinst_LTLIBRARIES += nir/libnir.la
 
 nir_libnir_la_CPPFLAGS = \
@@ -101,7 +300,7 @@ nir_tests_control_flow_tests_CFLAGS =                       
\
        $(PTHREAD_CFLAGS)
 nir_tests_control_flow_tests_LDADD =                   \
        $(top_builddir)/src/gtest/libgtest.la           \
-       $(top_builddir)/src/compiler/nir/libnir.la      \
+       nir/libnir.la   \
        $(top_builddir)/src/util/libmesautil.la         \
        $(PTHREAD_LIBS)
 
diff --git a/src/compiler/Makefile.sources b/src/compiler/Makefile.sources
index fe12e41..c9780d6 100644
--- a/src/compiler/Makefile.sources
+++ b/src/compiler/Makefile.sources
@@ -7,6 +7,153 @@ LIBCOMPILER_FILES = \
        shader_enums.c \
        shader_enums.h
 
+# libglsl
+
+LIBGLSL_FILES = \
+       glsl/ast.h \
+       glsl/ast_array_index.cpp \
+       glsl/ast_expr.cpp \
+       glsl/ast_function.cpp \
+       glsl/ast_to_hir.cpp \
+       glsl/ast_type.cpp \
+       glsl/blob.c \
+       glsl/blob.h \
+       glsl/builtin_functions.cpp \
+       glsl/builtin_types.cpp \
+       glsl/builtin_variables.cpp \
+       glsl/glsl_parser_extras.cpp \
+       glsl/glsl_parser_extras.h \
+       glsl/glsl_symbol_table.cpp \
+       glsl/glsl_symbol_table.h \
+       glsl/hir_field_selection.cpp \
+       glsl/ir_basic_block.cpp \
+       glsl/ir_basic_block.h \
+       glsl/ir_builder.cpp \
+       glsl/ir_builder.h \
+       glsl/ir_clone.cpp \
+       glsl/ir_constant_expression.cpp \
+       glsl/ir.cpp \
+       glsl/ir.h \
+       glsl/ir_equals.cpp \
+       glsl/ir_expression_flattening.cpp \
+       glsl/ir_expression_flattening.h \
+       glsl/ir_function_can_inline.cpp \
+       glsl/ir_function_detect_recursion.cpp \
+       glsl/ir_function_inlining.h \
+       glsl/ir_function.cpp \
+       glsl/ir_hierarchical_visitor.cpp \
+       glsl/ir_hierarchical_visitor.h \
+       glsl/ir_hv_accept.cpp \
+       glsl/ir_import_prototypes.cpp \
+       glsl/ir_optimization.h \
+       glsl/ir_print_visitor.cpp \
+       glsl/ir_print_visitor.h \
+       glsl/ir_reader.cpp \
+       glsl/ir_reader.h \
+       glsl/ir_rvalue_visitor.cpp \
+       glsl/ir_rvalue_visitor.h \
+       glsl/ir_set_program_inouts.cpp \
+       glsl/ir_uniform.h \
+       glsl/ir_validate.cpp \
+       glsl/ir_variable_refcount.cpp \
+       glsl/ir_variable_refcount.h \
+       glsl/ir_visitor.h \
+       glsl/linker.cpp \
+       glsl/linker.h \
+       glsl/link_atomics.cpp \
+       glsl/link_functions.cpp \
+       glsl/link_interface_blocks.cpp \
+       glsl/link_uniforms.cpp \
+       glsl/link_uniform_initializers.cpp \
+       glsl/link_uniform_block_active_visitor.cpp \
+       glsl/link_uniform_block_active_visitor.h \
+       glsl/link_uniform_blocks.cpp \
+       glsl/link_varyings.cpp \
+       glsl/link_varyings.h \
+       glsl/list.h \
+       glsl/loop_analysis.cpp \
+       glsl/loop_analysis.h \
+       glsl/loop_controls.cpp \
+       glsl/loop_unroll.cpp \
+       glsl/lower_buffer_access.cpp \
+       glsl/lower_buffer_access.h \
+       glsl/lower_clip_distance.cpp \
+       glsl/lower_const_arrays_to_uniforms.cpp \
+       glsl/lower_discard.cpp \
+       glsl/lower_discard_flow.cpp \
+       glsl/lower_if_to_cond_assign.cpp \
+       glsl/lower_instructions.cpp \
+       glsl/lower_jumps.cpp \
+       glsl/lower_mat_op_to_vec.cpp \
+       glsl/lower_noise.cpp \
+       glsl/lower_offset_array.cpp \
+       glsl/lower_packed_varyings.cpp \
+       glsl/lower_named_interface_blocks.cpp \
+       glsl/lower_packing_builtins.cpp \
+       glsl/lower_subroutine.cpp \
+       glsl/lower_tess_level.cpp \
+       glsl/lower_texture_projection.cpp \
+       glsl/lower_variable_index_to_cond_assign.cpp \
+       glsl/lower_vec_index_to_cond_assign.cpp \
+       glsl/lower_vec_index_to_swizzle.cpp \
+       glsl/lower_vector.cpp \
+       glsl/lower_vector_derefs.cpp \
+       glsl/lower_vector_insert.cpp \
+       glsl/lower_vertex_id.cpp \
+       glsl/lower_output_reads.cpp \
+       glsl/lower_shared_reference.cpp \
+       glsl/lower_ubo_reference.cpp \
+       glsl/opt_algebraic.cpp \
+       glsl/opt_array_splitting.cpp \
+       glsl/opt_conditional_discard.cpp \
+       glsl/opt_constant_folding.cpp \
+       glsl/opt_constant_propagation.cpp \
+       glsl/opt_constant_variable.cpp \
+       glsl/opt_copy_propagation.cpp \
+       glsl/opt_copy_propagation_elements.cpp \
+       glsl/opt_dead_builtin_variables.cpp \
+       glsl/opt_dead_builtin_varyings.cpp \
+       glsl/opt_dead_code.cpp \
+       glsl/opt_dead_code_local.cpp \
+       glsl/opt_dead_functions.cpp \
+       glsl/opt_flatten_nested_if_blocks.cpp \
+       glsl/opt_flip_matrices.cpp \
+       glsl/opt_function_inlining.cpp \
+       glsl/opt_if_simplification.cpp \
+       glsl/opt_minmax.cpp \
+       glsl/opt_noop_swizzle.cpp \
+       glsl/opt_rebalance_tree.cpp \
+       glsl/opt_redundant_jumps.cpp \
+       glsl/opt_structure_splitting.cpp \
+       glsl/opt_swizzle_swizzle.cpp \
+       glsl/opt_tree_grafting.cpp \
+       glsl/opt_vectorize.cpp \
+       glsl/program.h \
+       glsl/s_expression.cpp \
+       glsl/s_expression.h
+
+# glsl_compiler
+
+GLSL_COMPILER_CXX_FILES = \
+       glsl/standalone_scaffolding.cpp \
+       glsl/standalone_scaffolding.h \
+       glsl/main.cpp
+
+# libglsl generated sources
+LIBGLSL_GENERATED_CXX_FILES = \
+       glsl/glsl_lexer.cpp \
+       glsl/glsl_parser.cpp
+
+# libglcpp
+
+LIBGLCPP_FILES = \
+       glsl/glcpp/glcpp.h \
+       glsl/glcpp/pp.c
+
+LIBGLCPP_GENERATED_FILES = \
+       glsl/glcpp/glcpp-lex.c \
+       glsl/glcpp/glcpp-parse.c
+
 NIR_GENERATED_FILES = \
        nir/nir_builder_opcodes.h \
        nir/nir_constant_expressions.c \
diff --git a/src/compiler/SConscript b/src/compiler/SConscript
index 412da0e..8d71b82 100644
--- a/src/compiler/SConscript
+++ b/src/compiler/SConscript
@@ -20,3 +20,5 @@ compiler = env.ConvenienceLibrary(
     source = sources
 )
 Export('compiler')
+
+SConscript('glsl/SConscript')
diff --git a/src/glsl/glcpp/tests/glcpp-test 
b/src/compiler/glsl/glcpp/tests/glcpp-test
similarity index 95%
rename from src/glsl/glcpp/tests/glcpp-test
rename to src/compiler/glsl/glcpp/tests/glcpp-test
index 825c22e..3945ee4 100755
--- a/src/glsl/glcpp/tests/glcpp-test
+++ b/src/compiler/glsl/glcpp/tests/glcpp-test
@@ -1,9 +1,9 @@
 #!/bin/sh
 
 if [ ! -z "$srcdir" ]; then
-   testdir=$srcdir/glcpp/tests
-   outdir=`pwd`/glcpp/tests
-   glcpp=`pwd`/glcpp/glcpp
+   testdir=$srcdir/glsl/glcpp/tests
+   outdir=`pwd`/glsl/glcpp/tests
+   glcpp=`pwd`/glsl/glcpp/glcpp
 else
    testdir=.
    outdir=.
diff --git a/src/glsl/glcpp/tests/glcpp-test-cr-lf 
b/src/compiler/glsl/glcpp/tests/glcpp-test-cr-lf
similarity index 90%
rename from src/glsl/glcpp/tests/glcpp-test-cr-lf
rename to src/compiler/glsl/glcpp/tests/glcpp-test-cr-lf
index c4ed0b8..c75370f 100755
--- a/src/glsl/glcpp/tests/glcpp-test-cr-lf
+++ b/src/compiler/glsl/glcpp/tests/glcpp-test-cr-lf
@@ -6,8 +6,8 @@
 # glcpp-test script.
 
 if [ ! -z "$srcdir" ]; then
-   testdir="$srcdir/glcpp/tests"
-   glcpp_test="$srcdir/glcpp/tests/glcpp-test"
+   testdir="$srcdir/glsl/glcpp/tests"
+   glcpp_test="$srcdir/glsl/glcpp/tests/glcpp-test"
 else
    testdir=.
    glcpp_test=./glcpp-test
@@ -99,7 +99,7 @@ mkdir subtest-cr
 for file in "$testdir"/*.c; do
     base=$(basename "$file")
     tr "\n" "\r" < "$file" > subtest-cr/"$base"
-    cp `pwd`/glcpp/tests/subtest-lf/"$base".out subtest-cr/"$base".expected
+    cp `pwd`/glsl/glcpp/tests/subtest-lf/"$base".out 
subtest-cr/"$base".expected
 done
 
 run_test "${glcpp_test} --testdir=subtest-cr"
@@ -112,7 +112,7 @@ mkdir subtest-cr-lf
 for file in "$testdir"/*.c; do
     base=$(basename "$file")
     sed -e 's/$/
/' < "$file" > subtest-cr-lf/"$base"
-    cp `pwd`/glcpp/tests/subtest-lf/"$base".out subtest-cr-lf/"$base".expected
+    cp `pwd`/glsl/glcpp/tests/subtest-lf/"$base".out 
subtest-cr-lf/"$base".expected
 done
 
 run_test "${glcpp_test} --testdir=subtest-cr-lf"
@@ -125,7 +125,7 @@ mkdir subtest-lf-cr
 for file in "$testdir"/*.c; do
     base=$(basename "$file")
     sed -e 's/$/
/' < "$file" | tr "\n\r" "\r\n" > subtest-lf-cr/"$base"
-    cp `pwd`/glcpp/tests/subtest-lf/"$base".out subtest-lf-cr/"$base".expected
+    cp `pwd`/glsl/glcpp/tests/subtest-lf/"$base".out 
subtest-lf-cr/"$base".expected
 done
 
 run_test "${glcpp_test} --testdir=subtest-lf-cr"
diff --git a/src/compiler/glsl_types.cpp b/src/compiler/glsl_types.cpp
index 7e60e7c..17ebf07 100644
--- a/src/compiler/glsl_types.cpp
+++ b/src/compiler/glsl_types.cpp
@@ -23,7 +23,7 @@
 
 #include <stdio.h>
 #include "main/macros.h"
-#include "glsl/glsl_parser_extras.h"
+#include "compiler/glsl/glsl_parser_extras.h"
 #include "glsl_types.h"
 #include "util/hash_table.h"
 
diff --git a/src/compiler/nir/Makefile.sources 
b/src/compiler/nir/Makefile.sources
new file mode 100644
index 0000000..0755a10
--- /dev/null
+++ b/src/compiler/nir/Makefile.sources
@@ -0,0 +1,71 @@
+NIR_GENERATED_FILES = \
+       nir_builder_opcodes.h \
+       nir_constant_expressions.c \
+       nir_opcodes.c \
+       nir_opcodes.h \
+       nir_opt_algebraic.c
+
+NIR_FILES = \
+       glsl_to_nir.cpp \
+       glsl_to_nir.h \
+       nir.c \
+       nir.h \
+       nir_array.h \
+       nir_builder.h \
+       nir_clone.c \
+       nir_constant_expressions.h \
+       nir_control_flow.c \
+       nir_control_flow.h \
+       nir_control_flow_private.h \
+       nir_dominance.c \
+       nir_from_ssa.c \
+       nir_gs_count_vertices.c \
+       nir_intrinsics.c \
+       nir_intrinsics.h \
+       nir_instr_set.c \
+       nir_instr_set.h \
+       nir_liveness.c \
+       nir_lower_alu_to_scalar.c \
+       nir_lower_atomics.c \
+       nir_lower_clip.c \
+       nir_lower_global_vars_to_local.c \
+       nir_lower_gs_intrinsics.c \
+       nir_lower_load_const_to_scalar.c \
+       nir_lower_locals_to_regs.c \
+       nir_lower_idiv.c \
+       nir_lower_io.c \
+       nir_lower_outputs_to_temporaries.c \
+       nir_lower_phis_to_scalar.c \
+       nir_lower_samplers.c \
+       nir_lower_system_values.c \
+       nir_lower_tex.c \
+       nir_lower_to_source_mods.c \
+       nir_lower_two_sided_color.c \
+       nir_lower_vars_to_ssa.c \
+       nir_lower_var_copies.c \
+       nir_lower_vec_to_movs.c \
+       nir_metadata.c \
+       nir_move_vec_src_uses_to_dest.c \
+       nir_normalize_cubemap_coords.c \
+       nir_opt_constant_folding.c \
+       nir_opt_copy_propagate.c \
+       nir_opt_cse.c \
+       nir_opt_dce.c \
+       nir_opt_dead_cf.c \
+       nir_opt_gcm.c \
+       nir_opt_global_to_local.c \
+       nir_opt_peephole_select.c \
+       nir_opt_remove_phis.c \
+       nir_opt_undef.c \
+       nir_print.c \
+       nir_remove_dead_variables.c \
+       nir_search.c \
+       nir_search.h \
+       nir_split_var_copies.c \
+       nir_sweep.c \
+       nir_to_ssa.c \
+       nir_validate.c \
+       nir_vla.h \
+       nir_worklist.c \
+       nir_worklist.h
+
diff --git a/src/compiler/nir/glsl_to_nir.cpp b/src/compiler/nir/glsl_to_nir.cpp
index 33b1f5c..4b76d23 100644
--- a/src/compiler/nir/glsl_to_nir.cpp
+++ b/src/compiler/nir/glsl_to_nir.cpp
@@ -28,9 +28,9 @@
 #include "glsl_to_nir.h"
 #include "nir_control_flow.h"
 #include "nir_builder.h"
-#include "glsl/ir_visitor.h"
-#include "glsl/ir_hierarchical_visitor.h"
-#include "glsl/ir.h"
+#include "compiler/glsl/ir_visitor.h"
+#include "compiler/glsl/ir_hierarchical_visitor.h"
+#include "compiler/glsl/ir.h"
 #include "main/imports.h"
 
 /*
diff --git a/src/compiler/nir/glsl_to_nir.h b/src/compiler/nir/glsl_to_nir.h
index 20d2a38..e3fe9b0 100644
--- a/src/compiler/nir/glsl_to_nir.h
+++ b/src/compiler/nir/glsl_to_nir.h
@@ -26,7 +26,7 @@
  */
 
 #include "nir.h"
-#include "glsl/glsl_parser_extras.h"
+#include "compiler/glsl/glsl_parser_extras.h"
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h
index 54e23eb..aec75fb 100644
--- a/src/compiler/nir/nir.h
+++ b/src/compiler/nir/nir.h
@@ -28,7 +28,7 @@
 #pragma once
 
 #include "util/hash_table.h"
-#include "glsl/list.h"
+#include "compiler/glsl/list.h"
 #include "GL/gl.h" /* GLenum */
 #include "util/list.h"
 #include "util/ralloc.h"
diff --git a/src/compiler/nir/nir_lower_atomics.c 
b/src/compiler/nir/nir_lower_atomics.c
index 2cbc1b7..1a4458d 100644
--- a/src/compiler/nir/nir_lower_atomics.c
+++ b/src/compiler/nir/nir_lower_atomics.c
@@ -25,7 +25,7 @@
  *
  */
 
-#include "glsl/ir_uniform.h"
+#include "compiler/glsl/ir_uniform.h"
 #include "nir.h"
 #include "main/config.h"
 #include <assert.h>
diff --git a/src/compiler/nir/nir_lower_samplers.c 
b/src/compiler/nir/nir_lower_samplers.c
index 9c91212..96e8291 100644
--- a/src/compiler/nir/nir_lower_samplers.c
+++ b/src/compiler/nir/nir_lower_samplers.c
@@ -26,7 +26,7 @@
 #include "nir.h"
 #include "nir_builder.h"
 #include "program/hash_table.h"
-#include "glsl/ir_uniform.h"
+#include "compiler/glsl/ir_uniform.h"
 
 #include "main/compiler.h"
 #include "main/mtypes.h"
diff --git a/src/compiler/nir_types.cpp b/src/compiler/nir_types.cpp
index ddc43be..a87dcd8 100644
--- a/src/compiler/nir_types.cpp
+++ b/src/compiler/nir_types.cpp
@@ -26,7 +26,7 @@
  */
 
 #include "nir_types.h"
-#include "glsl/ir.h"
+#include "compiler/glsl/ir.h"
 
 void
 glsl_print_type(const glsl_type *type, FILE *fp)
diff --git a/src/gallium/auxiliary/nir/tgsi_to_nir.c 
b/src/gallium/auxiliary/nir/tgsi_to_nir.c
index 6649e40..3e7d69f 100644
--- a/src/gallium/auxiliary/nir/tgsi_to_nir.c
+++ b/src/gallium/auxiliary/nir/tgsi_to_nir.c
@@ -26,7 +26,7 @@
 #include "compiler/nir/nir.h"
 #include "compiler/nir/nir_control_flow.h"
 #include "compiler/nir/nir_builder.h"
-#include "glsl/list.h"
+#include "compiler/glsl/list.h"
 #include "compiler/shader_enums.h"
 
 #include "tgsi_to_nir.h"
diff --git a/src/mesa/Makefile.am b/src/mesa/Makefile.am
index 69506f2..8dc44fd 100644
--- a/src/mesa/Makefile.am
+++ b/src/mesa/Makefile.am
@@ -165,7 +165,7 @@ libmesa_la_SOURCES = \
        $(MESA_ASM_FILES_FOR_ARCH)
 
 libmesa_la_LIBADD = \
-       $(top_builddir)/src/glsl/libglsl.la \
+       $(top_builddir)/src/compiler/glsl/libglsl.la \
        $(ARCH_LIBS)
 
 libmesagallium_la_SOURCES = \
@@ -175,7 +175,7 @@ libmesagallium_la_SOURCES = \
        $(MESA_ASM_FILES_FOR_ARCH)
 
 libmesagallium_la_LIBADD = \
-       $(top_builddir)/src/glsl/libglsl.la \
+       $(top_builddir)/src/compiler/glsl/libglsl.la \
        $(ARCH_LIBS)
 
 libmesa_sse41_la_SOURCES = \
diff --git a/src/mesa/Makefile.sources b/src/mesa/Makefile.sources
index 386d6aa..7af8bec 100644
--- a/src/mesa/Makefile.sources
+++ b/src/mesa/Makefile.sources
@@ -623,10 +623,7 @@ MESA_GALLIUM_FILES = \
 INCLUDE_DIRS = \
        -I$(top_srcdir)/include \
        -I$(top_srcdir)/src \
-       -I$(top_srcdir)/src/glsl \
        -I$(top_builddir)/src/compiler/nir \
-       -I$(top_builddir)/src/glsl \
-       -I$(top_srcdir)/src/glsl/glcpp \
        -I$(top_srcdir)/src/mesa \
        -I$(top_builddir)/src/mesa \
        -I$(top_srcdir)/src/mesa/main \
diff --git a/src/mesa/drivers/dri/i965/brw_cs.c 
b/src/mesa/drivers/dri/i965/brw_cs.c
index 9eadb7e..0ab9ebd 100644
--- a/src/mesa/drivers/dri/i965/brw_cs.c
+++ b/src/mesa/drivers/dri/i965/brw_cs.c
@@ -32,7 +32,7 @@
 #include "intel_batchbuffer.h"
 #include "brw_nir.h"
 #include "brw_program.h"
-#include "glsl/ir_uniform.h"
+#include "compiler/glsl/ir_uniform.h"
 
 static void
 assign_cs_binding_table_offsets(const struct brw_device_info *devinfo,
diff --git a/src/mesa/drivers/dri/i965/brw_cubemap_normalize.cpp 
b/src/mesa/drivers/dri/i965/brw_cubemap_normalize.cpp
index 3d6aa74..2ff9ec1 100644
--- a/src/mesa/drivers/dri/i965/brw_cubemap_normalize.cpp
+++ b/src/mesa/drivers/dri/i965/brw_cubemap_normalize.cpp
@@ -31,7 +31,7 @@
  */
 
 #include "compiler/glsl_types.h"
-#include "glsl/ir.h"
+#include "compiler/glsl/ir.h"
 #include "program/prog_instruction.h" /* For WRITEMASK_* */
 
 class brw_cubemap_normalize_visitor : public ir_hierarchical_visitor {
diff --git a/src/mesa/drivers/dri/i965/brw_fs.h 
b/src/mesa/drivers/dri/i965/brw_fs.h
index b75ebfe..4612a28 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.h
+++ b/src/mesa/drivers/dri/i965/brw_fs.h
@@ -30,7 +30,7 @@
 #include "brw_shader.h"
 #include "brw_ir_fs.h"
 #include "brw_fs_builder.h"
-#include "glsl/ir.h"
+#include "compiler/glsl/ir.h"
 #include "compiler/nir/nir.h"
 
 struct bblock_t;
diff --git a/src/mesa/drivers/dri/i965/brw_fs_channel_expressions.cpp 
b/src/mesa/drivers/dri/i965/brw_fs_channel_expressions.cpp
index 2287779..689e091 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_channel_expressions.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_channel_expressions.cpp
@@ -41,8 +41,8 @@
  * we do retain the vector types in that case.
  */
 
-#include "glsl/ir.h"
-#include "glsl/ir_expression_flattening.h"
+#include "compiler/glsl/ir.h"
+#include "compiler/glsl/ir_expression_flattening.h"
 #include "compiler/glsl_types.h"
 
 class ir_channel_expressions_visitor : public ir_hierarchical_visitor {
diff --git a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp 
b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp
index d7bcc1c..9b8571e 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp
@@ -21,7 +21,7 @@
  * IN THE SOFTWARE.
  */
 
-#include "glsl/ir.h"
+#include "compiler/glsl/ir.h"
 #include "main/shaderimage.h"
 #include "brw_fs.h"
 #include "brw_fs_surface_builder.h"
diff --git a/src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp 
b/src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp
index 0970959..5fe24de 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_vector_splitting.cpp
@@ -38,8 +38,8 @@
  */
 
 #include "main/imports.h"
-#include "glsl/ir.h"
-#include "glsl/ir_rvalue_visitor.h"
+#include "compiler/glsl/ir.h"
+#include "compiler/glsl/ir_rvalue_visitor.h"
 #include "compiler/glsl_types.h"
 #include "util/hash_table.h"
 
diff --git a/src/mesa/drivers/dri/i965/brw_gs.c 
b/src/mesa/drivers/dri/i965/brw_gs.c
index edb52ac..c888ef2 100644
--- a/src/mesa/drivers/dri/i965/brw_gs.c
+++ b/src/mesa/drivers/dri/i965/brw_gs.c
@@ -34,7 +34,7 @@
 #include "brw_ff_gs.h"
 #include "brw_nir.h"
 #include "brw_program.h"
-#include "glsl/ir_uniform.h"
+#include "compiler/glsl/ir_uniform.h"
 
 static void
 brw_gs_debug_recompile(struct brw_context *brw,
diff --git a/src/mesa/drivers/dri/i965/brw_link.cpp 
b/src/mesa/drivers/dri/i965/brw_link.cpp
index 234afd5..db4ba88 100644
--- a/src/mesa/drivers/dri/i965/brw_link.cpp
+++ b/src/mesa/drivers/dri/i965/brw_link.cpp
@@ -26,7 +26,7 @@
 #include "brw_fs.h"
 #include "brw_nir.h"
 #include "brw_program.h"
-#include "glsl/ir_optimization.h"
+#include "compiler/glsl/ir_optimization.h"
 #include "program/program.h"
 #include "main/shaderapi.h"
 #include "main/uniforms.h"
diff --git a/src/mesa/drivers/dri/i965/brw_lower_texture_gradients.cpp 
b/src/mesa/drivers/dri/i965/brw_lower_texture_gradients.cpp
index c83b272..0848e1e 100644
--- a/src/mesa/drivers/dri/i965/brw_lower_texture_gradients.cpp
+++ b/src/mesa/drivers/dri/i965/brw_lower_texture_gradients.cpp
@@ -25,8 +25,8 @@
  * \file brw_lower_texture_gradients.cpp
  */
 
-#include "glsl/ir.h"
-#include "glsl/ir_builder.h"
+#include "compiler/glsl/ir.h"
+#include "compiler/glsl/ir_builder.h"
 #include "program/prog_instruction.h"
 #include "brw_context.h"
 
diff --git a/src/mesa/drivers/dri/i965/brw_lower_unnormalized_offset.cpp 
b/src/mesa/drivers/dri/i965/brw_lower_unnormalized_offset.cpp
index eafbdf6..f5d7bae 100644
--- a/src/mesa/drivers/dri/i965/brw_lower_unnormalized_offset.cpp
+++ b/src/mesa/drivers/dri/i965/brw_lower_unnormalized_offset.cpp
@@ -32,8 +32,8 @@
  */
 
 #include "compiler/glsl_types.h"
-#include "glsl/ir.h"
-#include "glsl/ir_builder.h"
+#include "compiler/glsl/ir.h"
+#include "compiler/glsl/ir_builder.h"
 
 using namespace ir_builder;
 
diff --git a/src/mesa/drivers/dri/i965/brw_nir_uniforms.cpp 
b/src/mesa/drivers/dri/i965/brw_nir_uniforms.cpp
index 0849ca4..f3361d6 100644
--- a/src/mesa/drivers/dri/i965/brw_nir_uniforms.cpp
+++ b/src/mesa/drivers/dri/i965/brw_nir_uniforms.cpp
@@ -23,7 +23,7 @@
 
 #include "brw_shader.h"
 #include "brw_nir.h"
-#include "glsl/ir_uniform.h"
+#include "compiler/glsl/ir_uniform.h"
 
 static void
 brw_nir_setup_glsl_builtin_uniform(nir_variable *var,
diff --git a/src/mesa/drivers/dri/i965/brw_program.c 
b/src/mesa/drivers/dri/i965/brw_program.c
index 20d4e0d..368efee 100644
--- a/src/mesa/drivers/dri/i965/brw_program.c
+++ b/src/mesa/drivers/dri/i965/brw_program.c
@@ -37,7 +37,7 @@
 #include "program/programopt.h"
 #include "tnl/tnl.h"
 #include "util/ralloc.h"
-#include "glsl/ir.h"
+#include "compiler/glsl/ir.h"
 
 #include "brw_program.h"
 #include "brw_context.h"
diff --git a/src/mesa/drivers/dri/i965/brw_vec4.h 
b/src/mesa/drivers/dri/i965/brw_vec4.h
index 4e00fd0..1460f45 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4.h
+++ b/src/mesa/drivers/dri/i965/brw_vec4.h
@@ -31,7 +31,7 @@
 #include "brw_ir_vec4.h"
 #endif
 
-#include "glsl/ir.h"
+#include "compiler/glsl/ir.h"
 #include "compiler/nir/nir.h"
 
 
diff --git a/src/mesa/drivers/dri/i965/gen7_cs_state.c 
b/src/mesa/drivers/dri/i965/gen7_cs_state.c
index a025bb9..69c999b 100644
--- a/src/mesa/drivers/dri/i965/gen7_cs_state.c
+++ b/src/mesa/drivers/dri/i965/gen7_cs_state.c
@@ -31,7 +31,7 @@
 #include "intel_batchbuffer.h"
 #include "brw_state.h"
 #include "program/prog_statevars.h"
-#include "glsl/ir_uniform.h"
+#include "compiler/glsl/ir_uniform.h"
 
 static unsigned
 get_cs_thread_count(const struct brw_cs_prog_data *cs_prog_data)
diff --git a/src/mesa/drivers/dri/i965/intel_resolve_map.h 
b/src/mesa/drivers/dri/i965/intel_resolve_map.h
index 9bb9fca..726b287 100644
--- a/src/mesa/drivers/dri/i965/intel_resolve_map.h
+++ b/src/mesa/drivers/dri/i965/intel_resolve_map.h
@@ -24,7 +24,7 @@
 #pragma once
 
 #include <stdint.h>
-#include "glsl/list.h"
+#include "compiler/glsl/list.h"
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index be983d4..a709ea9 100644
--- a/src/mesa/main/context.c
+++ b/src/mesa/main/context.c
@@ -142,7 +142,7 @@
 #include "sparc/sparc.h"
 #endif
 
-#include "glsl_parser_extras.h"
+#include "compiler/glsl/glsl_parser_extras.h"
 #include <stdbool.h>
 
 
diff --git a/src/mesa/main/ff_fragment_shader.cpp 
b/src/mesa/main/ff_fragment_shader.cpp
index b2b1ee9..b0ce8c4 100644
--- a/src/mesa/main/ff_fragment_shader.cpp
+++ b/src/mesa/main/ff_fragment_shader.cpp
@@ -36,10 +36,10 @@
 #include "main/texenvprogram.h"
 #include "main/texobj.h"
 #include "main/uniforms.h"
-#include "glsl/ir_builder.h"
-#include "glsl/ir_optimization.h"
-#include "glsl/glsl_parser_extras.h"
-#include "glsl/glsl_symbol_table.h"
+#include "compiler/glsl/ir_builder.h"
+#include "compiler/glsl/ir_optimization.h"
+#include "compiler/glsl/glsl_parser_extras.h"
+#include "compiler/glsl/glsl_symbol_table.h"
 #include "compiler/glsl_types.h"
 #include "program/ir_to_mesa.h"
 #include "program/program.h"
diff --git a/src/mesa/main/pipelineobj.c b/src/mesa/main/pipelineobj.c
index f2a872d..0e4a0af 100644
--- a/src/mesa/main/pipelineobj.c
+++ b/src/mesa/main/pipelineobj.c
@@ -43,8 +43,8 @@
 #include "main/shaderobj.h"
 #include "main/transformfeedback.h"
 #include "main/uniforms.h"
-#include "glsl/glsl_parser_extras.h"
-#include "glsl/ir_uniform.h"
+#include "compiler/glsl/glsl_parser_extras.h"
+#include "compiler/glsl/ir_uniform.h"
 #include "program/program.h"
 #include "program/prog_parameter.h"
 #include "util/ralloc.h"
diff --git a/src/mesa/main/program_resource.c b/src/mesa/main/program_resource.c
index 9a15cfe..50659b0 100644
--- a/src/mesa/main/program_resource.c
+++ b/src/mesa/main/program_resource.c
@@ -30,7 +30,7 @@
 #include "main/shaderobj.h"
 #include "main/context.h"
 #include "program_resource.h"
-#include "ir_uniform.h"
+#include "compiler/glsl/ir_uniform.h"
 static bool
 supported_interface_enum(struct gl_context *ctx, GLenum iface)
 {
diff --git a/src/mesa/main/shader_query.cpp b/src/mesa/main/shader_query.cpp
index a18b860..1334e2f 100644
--- a/src/mesa/main/shader_query.cpp
+++ b/src/mesa/main/shader_query.cpp
@@ -34,9 +34,9 @@
 #include "main/shaderapi.h"
 #include "main/shaderobj.h"
 #include "main/uniforms.h"
-#include "glsl/glsl_symbol_table.h"
-#include "glsl/ir.h"
-#include "glsl/program.h"
+#include "compiler/glsl/glsl_symbol_table.h"
+#include "compiler/glsl/ir.h"
+#include "compiler/glsl/program.h"
 #include "program/hash_table.h"
 #include "util/strndup.h"
 
diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c
index 126786c..e1ed030 100644
--- a/src/mesa/main/shaderapi.c
+++ b/src/mesa/main/shaderapi.c
@@ -49,10 +49,10 @@
 #include "main/shaderobj.h"
 #include "main/transformfeedback.h"
 #include "main/uniforms.h"
-#include "glsl/glsl_parser_extras.h"
-#include "glsl/ir.h"
-#include "glsl/ir_uniform.h"
-#include "glsl/program.h"
+#include "compiler/glsl/glsl_parser_extras.h"
+#include "compiler/glsl/ir.h"
+#include "compiler/glsl/ir_uniform.h"
+#include "compiler/glsl/program.h"
 #include "program/program.h"
 #include "program/prog_print.h"
 #include "program/prog_parameter.h"
diff --git a/src/mesa/main/uniform_query.cpp b/src/mesa/main/uniform_query.cpp
index 766a465..2ced201 100644
--- a/src/mesa/main/uniform_query.cpp
+++ b/src/mesa/main/uniform_query.cpp
@@ -31,10 +31,10 @@
 #include "main/shaderapi.h"
 #include "main/shaderobj.h"
 #include "main/uniforms.h"
-#include "glsl/ir.h"
-#include "glsl/ir_uniform.h"
-#include "glsl/glsl_parser_extras.h"
-#include "glsl/program.h"
+#include "compiler/glsl/ir.h"
+#include "compiler/glsl/ir_uniform.h"
+#include "compiler/glsl/glsl_parser_extras.h"
+#include "compiler/glsl/program.h"
 #include "program/hash_table.h"
 
 
diff --git a/src/mesa/main/uniforms.c b/src/mesa/main/uniforms.c
index 47010ba..b1968b3 100644
--- a/src/mesa/main/uniforms.c
+++ b/src/mesa/main/uniforms.c
@@ -43,7 +43,7 @@
 #include "main/shaderobj.h"
 #include "main/uniforms.h"
 #include "main/enums.h"
-#include "ir_uniform.h"
+#include "compiler/glsl/ir_uniform.h"
 #include "compiler/glsl_types.h"
 #include "program/program.h"
 
diff --git a/src/mesa/main/uniforms.h b/src/mesa/main/uniforms.h
index baf49a7..88fe958 100644
--- a/src/mesa/main/uniforms.h
+++ b/src/mesa/main/uniforms.h
@@ -28,7 +28,7 @@
 
 #include "main/glheader.h"
 #include "compiler/glsl_types.h"
-#include "glsl/ir_uniform.h"
+#include "compiler/glsl/ir_uniform.h"
 #include "program/prog_parameter.h"
 
 #ifdef __cplusplus
diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp
index 70c477e..c9c3044 100644
--- a/src/mesa/program/ir_to_mesa.cpp
+++ b/src/mesa/program/ir_to_mesa.cpp
@@ -35,16 +35,16 @@
 #include "main/shaderapi.h"
 #include "main/shaderobj.h"
 #include "main/uniforms.h"
-#include "glsl/ast.h"
-#include "glsl/ir.h"
-#include "glsl/ir_expression_flattening.h"
-#include "glsl/ir_visitor.h"
-#include "glsl/ir_optimization.h"
-#include "glsl/ir_uniform.h"
-#include "glsl/glsl_parser_extras.h"
+#include "compiler/glsl/ast.h"
+#include "compiler/glsl/ir.h"
+#include "compiler/glsl/ir_expression_flattening.h"
+#include "compiler/glsl/ir_visitor.h"
+#include "compiler/glsl/ir_optimization.h"
+#include "compiler/glsl/ir_uniform.h"
+#include "compiler/glsl/glsl_parser_extras.h"
 #include "compiler/glsl_types.h"
-#include "glsl/linker.h"
-#include "glsl/program.h"
+#include "compiler/glsl/linker.h"
+#include "compiler/glsl/program.h"
 #include "program/hash_table.h"
 #include "program/prog_instruction.h"
 #include "program/prog_optimize.h"
diff --git a/src/mesa/program/prog_to_nir.c b/src/mesa/program/prog_to_nir.c
index a2ebb1b..ebcc528 100644
--- a/src/mesa/program/prog_to_nir.c
+++ b/src/mesa/program/prog_to_nir.c
@@ -25,7 +25,7 @@
 
 #include "compiler/nir/nir.h"
 #include "compiler/nir/nir_builder.h"
-#include "glsl/list.h"
+#include "compiler/glsl/list.h"
 #include "main/imports.h"
 #include "util/ralloc.h"
 
diff --git a/src/mesa/program/sampler.cpp b/src/mesa/program/sampler.cpp
index 9137d18..f118552 100644
--- a/src/mesa/program/sampler.cpp
+++ b/src/mesa/program/sampler.cpp
@@ -25,10 +25,10 @@
 
 #include "main/mtypes.h"
 #include "compiler/glsl_types.h"
-#include "glsl/ir.h"
-#include "glsl/ir_uniform.h"
-#include "glsl/ir_visitor.h"
-#include "glsl/program.h"
+#include "compiler/glsl/ir.h"
+#include "compiler/glsl/ir_uniform.h"
+#include "compiler/glsl/ir_visitor.h"
+#include "compiler/glsl/program.h"
 #include "program/hash_table.h"
 #include "program/prog_parameter.h"
 #include "program/program.h"
diff --git a/src/mesa/state_tracker/st_draw.c b/src/mesa/state_tracker/st_draw.c
index 03788f3..10e294c 100644
--- a/src/mesa/state_tracker/st_draw.c
+++ b/src/mesa/state_tracker/st_draw.c
@@ -42,7 +42,7 @@
 #include "main/macros.h"
 #include "main/varray.h"
 
-#include "glsl/ir_uniform.h"
+#include "compiler/glsl/ir_uniform.h"
 
 #include "vbo/vbo.h"
 
diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp 
b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
index d424e3b..f5b8c33 100644
--- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
+++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
@@ -32,8 +32,8 @@
 
 #include "st_glsl_to_tgsi.h"
 
-#include "glsl_parser_extras.h"
-#include "ir_optimization.h"
+#include "compiler/glsl/glsl_parser_extras.h"
+#include "compiler/glsl/ir_optimization.h"
 
 #include "main/errors.h"
 #include "main/shaderobj.h"
-- 
2.6.2

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to