History log of /external/mesa3d/src/glsl/main.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7cfd42cefe1949af51ecced9891f415eca2c0e66 14-Sep-2012 Dave Airlie <airlied@redhat.com> mesa/glsl: rename preprocess to glcpp_preprocess

This symbol with dricore escapes into the namespace, its too generic,
we should prefix it with something just to be nice.

Should be applied to stable + 9.0

Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 88b0790b1ae8864d4ec6196b3939498bbffdbb5f)
/external/mesa3d/src/glsl/main.cpp
6a6cb03507da75a30224020c9193464ca5b81c5f 18-Apr-2012 Eric Anholt <eric@anholt.net> glsl: Add doxygen explaining what main.cpp is for.

I keep getting lost in the Makefile trying to figure out what to edit
to work on builtin_compiler or glsl_compiler.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/glsl/main.cpp
7e35d97a02cf139746ce9e85b78fe0c651139074 16-Apr-2012 Kenneth Graunke <kenneth@whitecape.org> glsl: Make the standalone compiler accept '.glsl' files.

These ought to be treated as 'any stage', but for now, they're just
treated as vertex shaders.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Acked-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/glsl/main.cpp
497aab39f0dea48707f9414f318365839132ed75 12-Mar-2012 Eric Anholt <eric@anholt.net> glsl: Let the builtin compiler process GLSL 1.40 shaders.

This is required to put the new 1.40 builtins in place, since they
require new types.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/glsl/main.cpp
1d5d67f8adac9f94715de9804adb536d9a7ec5ee 21-Oct-2011 Ian Romanick <ian.d.romanick@intel.com> glsl: Add uniform_locations_assigned parameter to do_dead_code opt pass

Setting this flag prevents declarations of uniforms from being removed
from the IR. Since the IR is directly used by several API functions
that query uniforms in shaders, uniform declarations cannot be removed
after the locations have been set. However, it should still be safe
to reorder the declarations (this is not tested).

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41980
Tested-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Bryan Cain <bryancain3@gmail.com>
Cc: Vinson Lee <vlee@vmware.com>
Cc: José Fonseca <jfonseca@vmware.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
/external/mesa3d/src/glsl/main.cpp
31753b50f3927ab45f8442cbe687bab9cee6d3bc 01-Aug-2011 Chia-I Wu <olvaffe@gmail.com> glsl: remove an unnecessary header include

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Chad Versace <chad@chad-versace.us>
/external/mesa3d/src/glsl/main.cpp
89193933cbd322cd08fb54232411a8a9221fcca8 29-Jul-2011 Ian Romanick <ian.d.romanick@intel.com> mesa: Ensure that gl_shader_program::InfoLog is never NULL

This prevents assertion failures in ralloc_strcat. The ralloc_free in
_mesa_free_shader_program_data can be omitted because freeing the
gl_shader_program in _mesa_delete_shader_program will take care of
this automatically.

A bunch of this code could use a refactor to use ralloc a bit more
effectively. A bunch of the things that are allocated with malloc and
owned by the gl_shader_program should be allocated with ralloc (using
the gl_shader_program as the context).

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/glsl/main.cpp
f129f618fe8a5397774484f1b7afb42d4be809a0 07-Jul-2011 Paul Berry <stereotype441@gmail.com> glsl: Move functions into standalone_scaffolding.cpp for later reuse.

This patch moves the following functions from main.cpp (the main cpp
file for the standalone executable that is used to create the built-in
functions) to standalone_scaffolding.cpp, so that they can be re-used
in other standalone executables:

- initialize_context()*
- _mesa_new_shader()
- _mesa_reference_shader()

*initialize_context contained some code that was specific to main.cpp,
so it was split into two functions: initialize_context() (which
remains in main.cpp), and initialize_context_from_defaults() (which is
in standalone_scaffolding.cpp).
/external/mesa3d/src/glsl/main.cpp
935e7e41266186c454e08c80aff40c34084d83c6 16-Jun-2011 Paul Berry <stereotype441@gmail.com> glsl: Flagged extension EXT_texture3D as "supported" in the builtin compiler.

Previously, the builtins in OES_texture_3D.{frag,vert} were only
compiling properly as a consequence of bug 38015, which allows
unsupported extensions to be enabled. This fix eliminates the builtin
compiler's reliance on bug 38015, so that bug 38015 can be fixed.
/external/mesa3d/src/glsl/main.cpp
497baf4e4a6a0a2f247c7bfb9bf69a2b93c2c19f 10-Feb-2011 Ian Romanick <ian.d.romanick@intel.com> Use C-style system headers in C++ code to avoid issues with std:: namespace
/external/mesa3d/src/glsl/main.cpp
e5e34ab18eeaffa465094f6281dfe293b84376db 31-Jan-2011 Ian Romanick <ian.d.romanick@intel.com> glsl: Ensure that all GLSL versions are supported in the stand-alone compiler

NOTE: This is a candidate for the 7.9 and 7.10 branches
/external/mesa3d/src/glsl/main.cpp
d3073f58c17d8675a2ecdd5dfa83e5520c78e1a8 21-Jan-2011 Kenneth Graunke <kenneth@whitecape.org> Convert everything from the talloc API to the ralloc API.
/external/mesa3d/src/glsl/main.cpp
652901e95b4ed406293d0e1fabee857c054119b1 15-Jan-2011 Brian Paul <brianp@vmware.com> Merge branch 'draw-instanced'

Conflicts:
src/gallium/auxiliary/draw/draw_llvm.c
src/gallium/drivers/llvmpipe/lp_state_fs.c
src/glsl/ir_set_program_inouts.cpp
src/mesa/tnl/t_vb_program.c
d42acef139740a54fe571f99b62cba7720734d8c 15-Jan-2011 Brian Paul <brianp@vmware.com> glsl: fix implicit int to bool warning

Maybe preprocess() should return a bool.
/external/mesa3d/src/glsl/main.cpp
0035d1d902f34a88ec745925284fe3b768fac261 12-Jan-2011 José Fonseca <jfonseca@vmware.com> glsl: Make builtin_compiler portable for non-unices.
/external/mesa3d/src/glsl/main.cpp
7ce186358e881d1e30eda716a8dea73d2dab2ee9 09-Dec-2010 Brian Paul <brianp@vmware.com> glsl: add support for system values and GL_ARB_draw_instanced
/external/mesa3d/src/glsl/main.cpp
a82592de9219e7d8c344275066ec5870a1c0ba45 25-Nov-2010 Kenneth Graunke <kenneth@whitecape.org> glsl: Use do_common_optimization in the standalone compiler.

NOTE: This is a candidate for the 7.9 branch.
/external/mesa3d/src/glsl/main.cpp
7819435f2ef484696560547fbc1325cb97c7174b 18-Nov-2010 Chad Versace <chad.versace@intel.com> glsl: Improve usage message for glsl_compiler

The new usage message lists possible command line options. (Newcomers to Mesa
currently have to trawl through the source to find the command line options,
and we should save them from that trouble.)

Example Output
--------------
usage: ./glsl_compiler [options] <file.vert | file.geom | file.frag>

Possible options are:
--glsl-es
--dump-ast
--dump-hir
--dump-lir
--link
/external/mesa3d/src/glsl/main.cpp
3322fbaf3b5e305ce00c1d08c26965bb98e0cef0 14-Oct-2010 Ian Romanick <ian.d.romanick@intel.com> glsl: Slightly change the semantic of _LinkedShaders

Previously _LinkedShaders was a compact array of the linked shaders
for each shader stage. Now it is arranged such that each slot,
indexed by the MESA_SHADER_* defines, refers to a specific shader
stage. As a result, some slots will be NULL. This makes things a
little more complex in the linker, but it simplifies things in other
places.

As a side effect _NumLinkedShaders is removed.

NOTE: This may be a candidate for the 7.9 branch. If there are other
patches that get backported to 7.9 that use _LinkedShader, this patch
should be cherry picked also.
/external/mesa3d/src/glsl/main.cpp
f9995b30756140724f41daf963fa06167912be7f 12-Oct-2010 Kristian Høgsberg <krh@bitplanet.net> Drop GLcontext typedef and use struct gl_context instead
/external/mesa3d/src/glsl/main.cpp
e591c4625cae63660c5000fbab366e40fe154ab0 05-Sep-2010 Luca Barbieri <luca@luca-barbieri.com> glsl: add several EmitNo* options, and MaxUnrollIterations

This increases the chance that GLSL programs will actually work.

Note that continues and returns are not yet lowered, so linking
will just fail if not supported.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/glsl/main.cpp
1a5b32ca0198488e7d616c8cd968471166a97ef3 08-Sep-2010 Chia-I Wu <olv@lunarg.com> glsl: Support GLSL ES in the standalone compile.

GLSL ES mode is enabled when --glsl-es is passed to glsl_compiler.
/external/mesa3d/src/glsl/main.cpp
dc754586ca84741b4df5b72fd235c4134816854c 08-Sep-2010 Chia-I Wu <olv@lunarg.com> glsl: Require a context in _mesa_glsl_parse_state.

Create a dummy context in the standalone compiler and pass it to
_mesa_glsl_parse_state.
/external/mesa3d/src/glsl/main.cpp
7dcfc44b72f00ba5a38cb02123c80113440f0de9 05-Sep-2010 Kenneth Graunke <kenneth@whitecape.org> glsl: Define GL_ES preprocessor macro if API is OpenGL ES 2.0.

Also define it if #version 100 is encountered.
/external/mesa3d/src/glsl/main.cpp
de7c3fe31a7b88a5392dceee3b13b45ed78cdeae 27-Aug-2010 Ian Romanick <ian.d.romanick@intel.com> glsl2: Add module to perform simple loop unrolling
/external/mesa3d/src/glsl/main.cpp
8df2dbf91ddfd0c1590e33015e85470b67e69319 27-Aug-2010 Ian Romanick <ian.d.romanick@intel.com> glsl2: Perform initial bits of loop analysis during compilation
/external/mesa3d/src/glsl/main.cpp
5d0f430e8ed01db29d11d22e4b6c3760d8c39f8f 18-Aug-2010 Eric Anholt <eric@anholt.net> mesa: Free old linked shaders when relinking new shaders.
/external/mesa3d/src/glsl/main.cpp
8bebbeb7c5b26ec9166a4644a2c051238d18509b 10-Aug-2010 Eric Anholt <eric@anholt.net> glsl2: Add constant propagation.

Whereas constant folding evaluates constant expressions at rvalue
nodes, constant propagation tracks constant components of vectors
across execution to replace (possibly swizzled) variable dereferences
with constant values, triggering possible constant folding or reduced
variable liveness.
/external/mesa3d/src/glsl/main.cpp
7ffe40532f6b22d9b80caeac0fc3b9495619186a 02-Aug-2010 Ian Romanick <ian.d.romanick@intel.com> glsl2: Clean-up two 'unused variable' warnings
/external/mesa3d/src/glsl/main.cpp
784695442c415cf0be882434a25671ecfb635d34 31-Jul-2010 Eric Anholt <eric@anholt.net> glsl2: Add new tree grafting optimization pass.
/external/mesa3d/src/glsl/main.cpp
66d4c65ee2c311ea0c71c39a28456d0c11798d6b 27-Jul-2010 Eric Anholt <eric@anholt.net> glsl2: Make the dead code handler make its own talloc context.

This way, we don't need to pass in a parse state, and the context
doesn't grow with the number of passes through optimization.
/external/mesa3d/src/glsl/main.cpp
832aad989e3d319a8aaac046aa49df25da134d82 27-Jul-2010 Eric Anholt <eric@anholt.net> glsl2: Add optimization pass for algebraic simplifications.

This cleans up the assembly output of almost all the non-logic tests
glsl-algebraic-*. glsl-algebraic-pow-two needs love (basically,
flattening to a temporary and squaring it).
/external/mesa3d/src/glsl/main.cpp
aa9f86ae8b3bb2172092ff9b50751677c509e6b4 23-Jul-2010 Kenneth Graunke <kenneth@whitecape.org> glsl2: Fix standalone compiler to not crash horribly.

ir_to_mesa was updated for the _mesa_glsl_parse_state constructor
changes, but main.cpp was not.
/external/mesa3d/src/glsl/main.cpp
d5be2acae379783c4aa31243e0a88a9e67e6ca7e 20-Jul-2010 Ian Romanick <ian.d.romanick@intel.com> linker: Link built-in functions instead of including them in every shader

This is an invasive set of changes. Each user shader tracks a set of other
shaders that contain built-in functions. During compilation, function
prototypes are imported from these shaders. During linking, the
shaders are linked with these built-in-function shaders just like with
any other shader.
/external/mesa3d/src/glsl/main.cpp
60e2d06d1ccc66ad00cd7ab81c418853f21be291 20-Jul-2010 Ian Romanick <ian.d.romanick@intel.com> glsl2: Implement utility routine to talloc reparent an IR tree
/external/mesa3d/src/glsl/main.cpp
f8946699ecfa5bc6566821fb855072bbdbd716b2 20-Jul-2010 Eric Anholt <eric@anholt.net> glsl2: Add definitions of the builtin constants present in GLSL 1.10.

Fixes:
glsl1-built-in constants
/external/mesa3d/src/glsl/main.cpp
5a2e0b8ce59a3d9f8fa7510546137aff40016c74 20-Jul-2010 Ian Romanick <ian.d.romanick@intel.com> glsl2: Don't validate IR if there were compilation errors
/external/mesa3d/src/glsl/main.cpp
25f51d3b9b8c36c41cd23d2797b6a06f6e27ff86 17-Jul-2010 Ian Romanick <ian.d.romanick@intel.com> linker: Track and validate GLSL versions used in shaders
/external/mesa3d/src/glsl/main.cpp
3fb878722ed53d79eedb9fe68972ef32b79575d4 09-Jul-2010 Ian Romanick <ian.d.romanick@intel.com> linker: Stub-out intrastage linker
/external/mesa3d/src/glsl/main.cpp
dfd30ca6a95a7d95835dad78ffe1fba4d1f4ef69 08-Jul-2010 Kenneth Graunke <kenneth@whitecape.org> glsl2: Remove generate_temporary and global temporary counter.

Most places in the code simply use a static name, which works because
names are never used to look up an ir_variable. generate_temporary is
simply unnecessary (and looks like it would leak memory, and isn't
thread safe...)
/external/mesa3d/src/glsl/main.cpp
a36334be02cb0a2b834667116bfeb680bf365857 07-Jul-2010 Eric Anholt <eric@anholt.net> glsl2: Add pass for supporting variable vector indexing in rvalues.

The Mesa IR needs this to support vector indexing correctly, and
hardware backends such as 915 would want this behavior as well.

Fixes glsl-vs-vec4-indexing-2.
/external/mesa3d/src/glsl/main.cpp
4d962e66e319191d5b94291b6f55d720df71130a 02-Jul-2010 Ian Romanick <ian.d.romanick@intel.com> glsl2: Print the linking info log in the stand-alone compiler
/external/mesa3d/src/glsl/main.cpp
667f4e1940c4c4660e35dc9906672a476369660f 01-Jul-2010 Ian Romanick <ian.d.romanick@intel.com> glsl2: Conditionally allow optional extensions to be enabled

The only optional extension currently supported by the compiler is
GL_EXT_texture_array.
/external/mesa3d/src/glsl/main.cpp
06143ea09411aa283ac3633bfbfa4326584cd952 01-Jul-2010 Ian Romanick <ian.d.romanick@intel.com> glsl2: Conditionally define preprocessor tokens for optional extensions

The only optional extension currently supported by the compiler is
GL_EXT_texture_array.
/external/mesa3d/src/glsl/main.cpp
127308b4be077e5bdf60f76320307550921e86bb 01-Jul-2010 Ian Romanick <ian.d.romanick@intel.com> glsl2: Add gl_MaxTextureCoords
/external/mesa3d/src/glsl/main.cpp
629198b96a8f471c48932d6af56184b6c33b5fe5 29-Jun-2010 Kenneth Graunke <kenneth@whitecape.org> glsl2: Preprocessed source doesn't need to live past compile time.
/external/mesa3d/src/glsl/main.cpp
116f1d4f95d8eb0a82b272016590549632c865b3 25-Jun-2010 Kenneth Graunke <kenneth@whitecape.org> glsl2: Steal the live IR and free the rest of the junk.
/external/mesa3d/src/glsl/main.cpp
849e18153cd91d812f694b806a84008498860bc3 30-Jun-2010 Eric Anholt <eric@anholt.net> glsl2: Use Mesa's gl_shader_program instead of our own struct glsl_program.

This avoids more allocation and shuffling of data around.
/external/mesa3d/src/glsl/main.cpp
16b68b1952d0da14b9ce8306efa64988ce46b4b7 30-Jun-2010 Eric Anholt <eric@anholt.net> glsl2: Move our data from a glsl_shader* on the side to the main gl_shader *.

This saves recompiling at link time. gl_shader->ir is made a pointer
so that we don't have to bring exec_list into mtypes.h.
/external/mesa3d/src/glsl/main.cpp
5e18b051c039564d1998818d08caf1bff3983630 29-Jun-2010 Ian Romanick <ian.d.romanick@intel.com> glsl2: Pass MaxDrawBuffers from core Mesa into the GLSL compiler
/external/mesa3d/src/glsl/main.cpp
efc15f862b08a9f035c06a79bc43848cca740372 28-Jun-2010 Ian Romanick <ian.d.romanick@intel.com> glsl_type: Add _mesa_glsl_release_types to release all type related storage
/external/mesa3d/src/glsl/main.cpp
22c23dedad4e7f362ffbd990f1c2d5caf4cae75a 26-Jun-2010 Ian Romanick <ian.d.romanick@intel.com> glsl2: Add option to stand-alone GLSL compiler to dump IR before optimizations
/external/mesa3d/src/glsl/main.cpp
bda27424cf04c0d2ec2b49c56f562d5b2d2f0bff 25-Jun-2010 Eric Anholt <eric@anholt.net> glsl2: Use the parser state as the talloc context for dead code elimination.

This cuts runtime by around 20% from talloc_parent() lookups.
/external/mesa3d/src/glsl/main.cpp
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/main.cpp