History log of /external/mesa3d/src/glsl/ast.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
551bdf25bc4e57bea51c54da7e31c44c507e6c9f 22-Jun-2012 Eric Anholt <eric@anholt.net> glsl: Add support for default layout qualifiers for uniforms.

I ended up having to add rallocing of the ast_type_qualifier in order
to avoid pulling in ast.h for glsl_parser_extras.h, because I wanted
to track an ast_type_qualifier in the state.

Fixes piglit ARB_uniform_buffer_object/row-major.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/glsl/ast.h
f7561e8ecd80e915150ca63c0c79a5f9839c8e12 27-Apr-2012 Eric Anholt <eric@anholt.net> glsl: Turn UBO variable declarations into ir_variables and check qualifiers.

Fixes piglit layout-*-non-uniform and layout-*-within-block.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/glsl/ast.h
2d03f48a65a666ecdcfaffa3d39ad1b77f2b25b6 18-Apr-2012 Eric Anholt <eric@anholt.net> glsl: Add parsing for GLSL uniform blocks.

This doesn't do anything with the uniform block declarations yet, so
usage of those uniforms finds them to be undeclared.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/glsl/ast.h
912a429bc529a017a426f06631b31da1c0eaa3ae 26-Apr-2012 Eric Anholt <eric@anholt.net> glsl: Don't hide the type of struct_declaration_list.

I've been trying to derive from this for UBO support, and the slightly
obfuscated types were putting me over the edge.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/glsl/ast.h
1256a5dcc86014d48bdc6fd10ea5a2fa11241667 24-Mar-2012 Dave Airlie <airlied@redhat.com> glsl: add support for ARB_blend_func_extended (v3)

This adds index support to the GLSL compiler.

I'm not 100% sure of my approach here, esp without how output ordering
happens wrt location, index pairs, in the "mark" function.

Since current hw doesn't ever have a location > 0 with an index > 0,
we don't have to work out if the output ordering the hw requires is
location, index, location, index or location, location, index, index.
But we have no hw to know, so punt on it for now.

v2: index requires layout - catch and error
setup explicit index properly.

v3: drop idx_offset stuff, assume index follow location

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/glsl/ast.h
eb7a71dea78152142b456f29e4881c4d3aeb56b6 30-Mar-2012 Eric Anholt <eric@anholt.net> glsl: Drop the round-trip through ast_type_specifier for many builtin types.

We have lexer recognition of a bunch of our types based on the
handling. This code was mapping those recognized tokens to an enum
and then to a string of their name. Just drop the enums and provide
the string directly in the parser.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/glsl/ast.h
b2c0df2b60a77b043d461f265c85d8b5b066a008 30-Mar-2012 Kenneth Graunke <kenneth@whitecape.org> glsl: Use (const char *) in AST nodes rather than plain (char *).

Nothing actually relied on them being mutable, and there was at least
one cast which discarded const qualifiers. The next patch would have
introduced many more.

Casting away const qualifiers should be avoided if at all possible.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/glsl/ast.h
fa0a9ac5cdf49865cfc289c4326c73c9dd4a61c5 23-Dec-2011 Ian Romanick <ian.d.romanick@intel.com> glsl: Track descriptions of some expressions that can't be l-values

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
/external/mesa3d/src/glsl/ast.h
a0afcc67196baa588ec0ac246be6c4996a328f0b 08-Nov-2011 Dan McCabe <zen3d.linux@gmail.com> glsl: Create AST structs corresponding to new productions in grammar

Previously we added productions for:
switch_body
case_label_list
case_statement
case_statement_list
Now add AST structs corresponding to those productions.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/glsl/ast.h
19daba54707b4ff90159850ce97faceba9c336c0 08-Nov-2011 Dan McCabe <zen3d.linux@gmail.com> glsl: Create AST data structures for switch statement and case label

Data structures for switch statement and case label are created that parallel
the structure of other AST data.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/glsl/ast.h
2903816aadb281716b6c59a5a48aeadb84a08f50 23-Oct-2011 Chia-I Wu <olv@lunarg.com> glsl: add support for GL_OES_EGL_image_external

This extension introduces a new sampler type: samplerExternalOES.
texture2D (and texture2DProj) can be used to do a texture look up in an
external texture.

Reviewed-by: Brian Paul <brianp@vmware.com>
Acked-by: Jakob Bornecrantz <jakob@vmware.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/glsl/ast.h
f0dd21ac88c0ee0a7dd96012881deeb3172974b6 22-Aug-2011 Ian Romanick <ian.d.romanick@intel.com> glsl: Silence "ast_to_hir.cpp:1984:25: warning: comparison of unsigned expression >= 0 is always true"

ast_type_qualifier::location should have been a signed integer from
the beginning, and the giant comment in
apply_type_qualifier_to_variable explains why.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=40207
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/glsl/ast.h
0d81b0e18494a80c4326fbc98837842959675869 30-Jul-2011 Paul Berry <stereotype441@gmail.com> glsl: Emit function signatures at toplevel, even for built-ins.

The ast-to-hir conversion needs to emit function signatures in two
circumstances: when a function declaration (or definition) is
encountered, and when a built-in function is encountered.

To avoid emitting a function signature in an illegal place (such as
inside a function), emit_function() checked whether we were inside a
function definition, and if so, emitted the signature before the
function definition.

However, this didn't cover the case of emitting function signatures
for built-in functions when those built-in functions are called from
inside the constant integer expression that specifies the length of a
global array. This failed because when processing an array length, we
are emitting IR into a dummy exec_list (see process_array_type() in
ast_to_hir.cpp). process_array_type() later checks (via an assertion)
that no instructions were emitted to the dummy exec_list, based on the
reasonable assumption that we shouldn't need to emit instructions to
calculate the value of a constant.

This patch changes emit_function() so that it emits function
signatures at toplevel in all cases.

This partially fixes bug 38625
(https://bugs.freedesktop.org/show_bug.cgi?id=38625). The remainder
of the fix is in the patch that follows.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/glsl/ast.h
d3073f58c17d8675a2ecdd5dfa83e5520c78e1a8 21-Jan-2011 Kenneth Graunke <kenneth@whitecape.org> Convert everything from the talloc API to the ralloc API.
/external/mesa3d/src/glsl/ast.h
565a22090c3f143a343c19249a92be6a84b291b0 27-Jan-2011 Chad Versace <chad.versace@intel.com> glsl: Add depth layout qualifiers to ast_type_qualifier
/external/mesa3d/src/glsl/ast.h
f633b993b0d11cbc2880707405cf38201a5df61d 19-Jan-2011 Chad Versace <chad.versace@intel.com> glsl: Remove unused class ast_declaration_statment
/external/mesa3d/src/glsl/ast.h
08a286c9cc8fecb081057e0f551c88a446c47b6f 17-Jan-2011 Chad Versace <chad.versace@intel.com> glsl: Add support for default precision statements

* Add new field ast_type_specifier::is_precision_statement.
* Add semantic checks in ast_type_specifier::hir().
* Alter parser rules accordingly.
/external/mesa3d/src/glsl/ast.h
aaa31bf8f44e1aab0e87160661196b0a16e1d015 14-Jan-2011 Chad Versace <chad.versace@intel.com> glsl: Change default value of ast_type_specifier::precision

Change default value to ast_precision_none, which denotes the absence of
a precision of a qualifier.

Previously, the default value was ast_precision_high. This made it
impossible to detect if a precision qualifier was present or not.
/external/mesa3d/src/glsl/ast.h
605aacc67d73db0926e0046a90a07fcd93a2d613 12-Jan-2011 Chad Versace <chad.versace@intel.com> glsl: Check that interpolation qualifiers do not precede 'varying'

... and 'centroid varying'. The check is performed only in GLSL
versions >= 1.30.

From page 29 (page 35 of the PDF) of the GLSL 1.30 spec:
"interpolation qualifiers may only precede the qualifiers in, centroid
in, out, or centroid out in a declaration. They do not apply to the
deprecated storage qualifiers varying or centroid varying."

Fixes Piglit test
spec/glsl-1.30/compiler/interpolation-qualifiers/smooth-varying-01.frag.
/external/mesa3d/src/glsl/ast.h
0e2f8936c8ef872cb464e54a9f09ae0324487147 12-Jan-2011 Chad Versace <chad.versace@intel.com> glsl: Add method ast_type_qualifier::interpolation_string()

If an interpolation qualifier is present, then the method returns that
qualifier's string representation. For example, if the noperspective bit
is set, then it returns "noperspective".
/external/mesa3d/src/glsl/ast.h
4a62a1c366703c5df10fd1d96f46ecb03ce45138 16-Dec-2010 Chad Versace <chad.versace@intel.com> glsl: Comment ast_type_qualifier.flags
/external/mesa3d/src/glsl/ast.h
6fae1e4c4d33769e2f255d50907b5aa0ab80edd4 06-Dec-2010 Kenneth Graunke <kenneth@whitecape.org> glsl: Factor out code which emits a new function into the IR stream.

A future commit will use the newly created function in a second place.
/external/mesa3d/src/glsl/ast.h
7f68cbdc4d9f602dc2619ac4a90283a4f057a8cb 06-Oct-2010 Ian Romanick <ian.d.romanick@intel.com> glsl: Add parser support for GL_ARB_explicit_attrib_location layouts

Only layout(location=#) is supported. Setting the index requires GLSL
1.30 and GL_ARB_blend_func_extended.
/external/mesa3d/src/glsl/ast.h
e24d35a5b59ca1e75b69a32db6294787378a963f 06-Oct-2010 Ian Romanick <ian.d.romanick@intel.com> glsl: Wrap ast_type_qualifier contents in a struct in a union

This will ease adding non-bit fields in the near future.
/external/mesa3d/src/glsl/ast.h
e053d62aa573651abdd78666d299272c8219a3aa 18-Sep-2010 Ian Romanick <ian.d.romanick@intel.com> glsl: Add doxygen comments
/external/mesa3d/src/glsl/ast.h
768b55a5268572ff9fd03e57e92775882eb0a821 14-Aug-2010 Ian Romanick <ian.d.romanick@intel.com> glsl2: Remove unnecessary use of 'struct' before type names

In C++ you don't have to say 'struct' or 'class' if the declaration of
the type has been seen. Some compilers will complain if you use
'struct' when 'class' should have been used and vice versa.

Fixes bugzilla #29539.
/external/mesa3d/src/glsl/ast.h
1575070bfeedbc7decb7e44ac81abaeec0497a07 03-Aug-2010 Carl Worth <cworth@cworth.org> glsl2: Use talloc_zero_size instead of talloc_size to allocate ast_node objects.

This is a zero-ing function, (like calloc), to avoid bugs due to
accessing uninitialized values. Thanks to valgrind for noticing the
use of uninitialized values.
/external/mesa3d/src/glsl/ast.h
b8db38e1c4f639cb0a063250d43f5a0ef6afd50f 02-Aug-2010 Eric Anholt <eric@anholt.net> glsl2: Also initialize the identifier field of parameter_declarator.

The non-named parameter grammar understandably doesn't set the
identifier field. Fixes intermittent failures about void main(void)
{} having a named void parameter.
/external/mesa3d/src/glsl/ast.h
b35703df107b50b2c3f5cd4d56790921e8106324 02-Aug-2010 Aras Pranckevicius <aras@unity3d.com> glsl2: initialize is_array and array_size of ast_parameter_declarator

The non-array path of glsl_parser.ypp wasn't setting is_array to false.
/external/mesa3d/src/glsl/ast.h
f50f06552eb1e4af27d6fe99c381eac6a0a4ea0f 01-Jul-2010 Ian Romanick <ian.d.romanick@intel.com> glsl2: Parser support for GL_ARB_fragment_coord_conventions
/external/mesa3d/src/glsl/ast.h
28527ed557923aecff5d3b88e5d7776f04389547 29-Jun-2010 Kenneth Graunke <kenneth@whitecape.org> glsl2: Add a method for querying if an AST type has any qualifiers.
/external/mesa3d/src/glsl/ast.h
29285882676388aacff123e8bdf025904abf8ea9 25-Jun-2010 Eric Anholt <eric@anholt.net> glsl2: Move the compiler to the subdirectory it will live in in Mesa.
/external/mesa3d/src/glsl/ast.h