aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/glsl/README
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2014-10-19 11:18:56 +0200
committermarha <marha@users.sourceforge.net>2014-10-19 11:18:56 +0200
commit9fc852414dd4e841c4e2229f55a3e41abca64ac5 (patch)
treea524a96442c2a28243826f91f43680f4bcf012d3 /mesalib/src/glsl/README
parent8d44af7cf8bdc4f42223dfef737ebf4e8c7fe55e (diff)
parentfa5a6df66cfe9b19014ea9d2fca35b762f457041 (diff)
downloadvcxsrv-9fc852414dd4e841c4e2229f55a3e41abca64ac5.tar.gz
vcxsrv-9fc852414dd4e841c4e2229f55a3e41abca64ac5.tar.bz2
vcxsrv-9fc852414dd4e841c4e2229f55a3e41abca64ac5.zip
Merge remote-tracking branch 'origin/released'
Conflicts: mesalib/src/mesa/main/bufferobj.c
Diffstat (limited to 'mesalib/src/glsl/README')
-rw-r--r--mesalib/src/glsl/README16
1 files changed, 8 insertions, 8 deletions
diff --git a/mesalib/src/glsl/README b/mesalib/src/glsl/README
index 0a0afccdc..2f93f12ff 100644
--- a/mesalib/src/glsl/README
+++ b/mesalib/src/glsl/README
@@ -8,7 +8,7 @@ passed straight through. See glcpp/*
2) lex and yacc-based parser takes the preprocessed string and
generates the AST (abstract syntax tree). Almost no checking is
-performed in this stage. See glsl_lexer.lpp and glsl_parser.ypp.
+performed in this stage. See glsl_lexer.ll and glsl_parser.yy.
3) The AST is converted to "HIR". This is the intermediate
representation of the compiler. Constructors are generated, function
@@ -34,7 +34,7 @@ linked in.
7) The driver performs code generation out of the IR, taking a linked
shader program and producing a compiled program for each stage. See
-ir_to_mesa.cpp for Mesa IR code generation.
+../mesa/program/ir_to_mesa.cpp for Mesa IR code generation.
FAQ:
@@ -126,7 +126,7 @@ optimizations like CSE where one must navigate an expression tree.
Q: Why no SSA representation?
-A: Converting an IR tree to SSA form makes dead code elmimination,
+A: Converting an IR tree to SSA form makes dead code elimination,
common subexpression elimination, and many other optimizations much
easier. However, in our primarily vector-based language, there's some
major questions as to how it would work. Do we do SSA on the scalar
@@ -134,9 +134,9 @@ or vector level? If we do it at the vector level, we're going to end
up with many different versions of the variable when encountering code
like:
-(assign (constant bool (1)) (swiz x (var_ref __retval) ) (var_ref a) )
-(assign (constant bool (1)) (swiz y (var_ref __retval) ) (var_ref b) )
-(assign (constant bool (1)) (swiz z (var_ref __retval) ) (var_ref c) )
+(assign (constant bool (1)) (swiz x (var_ref __retval) ) (var_ref a) )
+(assign (constant bool (1)) (swiz y (var_ref __retval) ) (var_ref b) )
+(assign (constant bool (1)) (swiz z (var_ref __retval) ) (var_ref c) )
If every masked update of a component relies on the previous value of
the variable, then we're probably going to be quite limited in our
@@ -183,7 +183,7 @@ ir_validate.cpp (check users have the right types)
You may also need to update the backends if they will see the new expr type:
-../mesa/shaders/ir_to_mesa.cpp
+../mesa/program/ir_to_mesa.cpp
You can then use the new expression from builtins (if all backends
would rather see it), or scan the IR and convert to use your new
@@ -225,4 +225,4 @@ Initially, there really wasn't one. We have since adopted one:
- Files that implement a class that is used throught the code should
take the name of that class (e.g., ir_hierarchical_visitor.cpp).
- Files that contain code not fitting in one of the previous
- categories should have a sensible name (e.g., glsl_parser.ypp).
+ categories should have a sensible name (e.g., glsl_parser.yy).