summaryrefslogtreecommitdiff
path: root/src/mesa/shader/program_parser.h
AgeCommit message (Collapse)AuthorFilesLines
2009-11-06Revert "ARB prog parser: Fix epic memory leak in lexer / parser interface"Ian Romanick1-16/+0
This reverts commit 93dae6761bc90bbd43b450d2673620ec189b2c7a. This change was completely broken when the parser uses multiple strings in a single production. It would be nice if bug fixes could initially land somewhere other than the stable branch.
2009-10-27ARB prog parser: Fix epic memory leak in lexer / parser interfaceIan Romanick1-0/+16
Anything that matched IDENTIFIER was strdup'ed and returned to the parser. However, almost every case of IDENTIFIER in the parser just dropped the returned string on the floor. Every swizzle string, every option string, every use of a variable, etc. leaked memory. Create a temporary buffer in the parser state (string_dumpster and dumpster_size). Return strings from the lexer to the parser in the buffer. Grow the buffer as needed. When the parser needs to keep a string (i.e., delcaring a new variable), let it make a copy then. The only leak that valgrind now detects is /occasionally/ the copy of the program string in gl_program::String is leaked. I'm not seeing how. :(
2009-07-27ARB prog parser: Add support for GL_MESA_texture_arrayIan Romanick1-0/+1
This isn't really tested yet as no drivers actually support this extension.
2009-07-27ARB prog parser: Fix handling of RECTIan Romanick1-0/+1
Require that GL_{ARB,EXT,NV}_texture_rectangle be supported before allowing use of RECT texture target.
2009-07-27ARB prog: Clean up several memory leaksIan Romanick1-0/+9
As far as I am able to determine via code inspection and using Valgrind, that should be all of the leaks in the parser.
2009-07-24ARB prog: get frag prog texture info from the right placeIan Romanick1-2/+0
This gets basic texturing working. w00t!
2009-07-22parser: Clean up generation of error strings during assemblyIan Romanick1-5/+6
2009-07-20ARB_fp/vp: Initial import of new ARB vp/fp assemblerIan Romanick1-0/+256
This still needs quite a bit of work, but a bunch of the programs in progs/vp produce correct results.